如何在 Android 上执行 USSD 请求?

2024-01-07

一些自定义拨号器应用程序(例如,MotoBlur 的拨号器) 能够执行 USSD 请求。通过SDK真的不可能做到这一点吗?


API26中添加了ussd api。 因此,由于 Oreo 与 ussd 的配合看起来像这样:

    TelephonyManager manager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
    manager.sendUssdRequest("*100#", new TelephonyManager.UssdResponseCallback() {
        @Override
        public void onReceiveUssdResponse(TelephonyManager telephonyManager, String request, CharSequence response) {
            super.onReceiveUssdResponse(telephonyManager, request, response);
        }

        @Override
        public void onReceiveUssdResponseFailed(TelephonyManager telephonyManager, String request, int failureCode) {
            super.onReceiveUssdResponseFailed(telephonyManager, request, failureCode);
        }
    }, new Handler());

    TelephonyManager manager2 = manager.createForSubscriptionId(subIdForSecondSlotFromSubscriptonManager);
    manager2.sendUssdRequest(...);

要获取 simID,您可以使用以下命令:

    SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);

    List<SubscriptionInfo> subscriptionInfoList = subscriptionManager.getActiveSubscriptionInfoList();

    for (SubscriptionInfo subscriptionInfo : subscriptionInfoList) {
        int subscriptionId = subscriptionInfo.getSubscriptionId();
        Log.d("Sims", "subscriptionId:" + subscriptionId);
    }

    if (subscriptionInfoList != null) {
        if (subscriptionInfoList.size() == 1) {
            sim1 = subscriptionInfoList.get(0).getDisplayName().toString();
            tvSim1.setText(sim1);
        } else {
            sim1 = subscriptionInfoList.get(0).getDisplayName().toString();
            sim2 = subscriptionInfoList.get(1).getDisplayName().toString();

            tvSim1.setText(sim1);
            tvSim2.setText(sim2);
        }

    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android 上执行 USSD 请求? 的相关文章

  • 如何从 AAR 依赖项中排除特定资源?

    有没有一种相当简单的方法来实现模块的build gradle文件来指示应排除依赖项中的某些文件 我特别感兴趣的是从 AAR 中排除某些资源 金丝雀泄密 https github com square leakcanary是一个有趣的库 可帮
  • 带阴影的弯曲 Android 工具栏

    我需要为工具栏或卡片视图提供弯曲的底视图 我尝试过的 bg toolbar xml
  • 启动 Twitter 应用程序 [重复]

    这个问题在这里已经有答案了 可能的重复 Twitter 应用程序的 Android Intent https stackoverflow com questions 2077008 android intent for twitter ap
  • android 谷歌+登录定制

    我正在创建一个 Android 应用程序 现在我正在实现社交网络登录 Facebook 按钮很好 但 google 按钮的语言与 Facebook 不同 另外 它只说 登录 我想让它说 用谷歌登录 我是 android 编程的新手 看到我需
  • 在 Android 中将应用程序上下文保存到静态变量是否安全?

    我知道在 Android 上使用静态变量是相当危险的 特别是当您将它们引用到活动时 但是 如果我有一个扩展 Application 的类 我们称此类为 App 引用此类的实例是否安全 如果是这样 任何其他类对应用程序上下文进行任何类型的引用
  • OpenCV InRange 参数

    我在 Android 上使用 OpenCV 来实时查找特定颜色的圆圈 我的第一步是仅保留与我正在寻找的定义颜色相对应的像素 在本例中为红色或绿色 示例图像 https i stack imgur com CIozU jpg 为此 我正在使用
  • layout.xml 的用途是什么?

    人们为什么使用layout xml在他们的resources like
  • 如何在照片删除后刷新 Android 的 MediaStore

    问题 如何使媒体存储刷新其已删除文件的条目 从外部存储中删除代码中的照片后 我仍然在图库中看到已删除照片的插槽 空白照片 画廊似乎反映了媒体存储 并且在媒体存储中找到了已删除的照片 直到手机重新启动或通常 直到重新扫描媒体为止 尝试扫描已删
  • 如何检测 Google Play 上是否有我的应用程序的更新? [复制]

    这个问题在这里已经有答案了 有没有办法以编程方式检查 Google Play 上我的应用程序是否有更新 以便通知用户 我知道 android google play 有自动通知 但我想使用我自己的通知 弹出消息来更新可用性 有点像 Vibe
  • 我们可以在 android studio 中拥有没有 app 文件夹的项目,并将所有内容(java/res/etc)放在根目录中吗

    我想知道在 Android studio 中是否可以有没有应用程序模块 应用程序或任何其他名称 的 android 项目 意味着我可以在项目本身的根目录中创建包和资源 而不是使用应用程序模块 编辑 结构看起来像 MyApp idea gra
  • 如何覆盖日期选择器的高度和宽度以填充父布局

    我有一个活动包含一个日期选择器 我想设置DatePicker适合屏幕 我试过这个答案 https stackoverflow com questions 6674667 how to customize date pickers width
  • 当应用程序未运行时如何堆叠 Firebase Cloud Messaging 通知?

    我在用Firebase Cloud Messaging将推送通知从我的服务器发送到我的 Android 应用程序 当应用程序运行时 通知是stacked因为我将它们设置为我的一个组FirebaseMessagingService 这很好 但
  • 点击监听器的公共类

    我的所有 6 项活动中有 7 个按钮 所有 6 个按钮在所有活动中都具有相同的功能 如何为这 6 个按钮执行通用的单击事件侦听器 您可以创建一个实现 View OnClickListener 的新类 如下所示 public class My
  • Android开发:未定义方法

    大家好 我是 Android 和 Eclipse 的新手 我刚刚遵循了developer android com 上的教程 现在我在添加操作栏 http developer android com training basics actio
  • Android:如何使视图增长以填充可用空间?

    这看起来很简单 但我不知道该怎么做 我有一个带有 EditText 和两个 ImageButtons 的水平布局 我希望 ImageButtons 具有固定大小 并且 EditText 占据布局中的剩余空间 如何才能做到这一点
  • 如何在android sdk上使用PowerMock

    我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
  • Google Android Drive api 在已安装版本上登录失败

    我开发了一个使用 GoogleDrive api 的 Android 应用程序 当处于调试状态或运行调试版本时 应用程序 工作正常 并正确验证附加的谷歌帐户 等 当我构建发行版本时 使用我的签名密钥 并且 安装apk文件 当我运行时 Goo
  • 如何使 tablayout 文本大小相等?

    这就是我所做的 我为文本创建了一种样式
  • WebView 在某些设备上如果不长按则不会滚动

    我有一个 WebView 设置如下 the web view mWebView WebView findViewById R id webView push the url on to the web view mWebView loadU
  • Android:获取最新意图

    如何获取发送到活动的最后一个意图 的文档onNewIntent 建议我需要做这样的事情 class MyActivity public void onNewIntent Intent intent setIntent intent reac

随机推荐

  • 在 PHP 中学习 mvc 的最佳方法是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 mvc 完全陌生 如何学习 走这条路 了解 MVC Google 一下 参见维基百科文章 选择一个框架 我建议 CodeIgni
  • 提高 Fortran 代码性能的提示和技巧 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在新的 iTunes connect 中创建应用内购买测试用户?

    我在 itune connect 中创建了一个测试用户 用户创建成功 并且还可以登录手机苹果商店 但是 当我要在同一用户的应用程序购买中进行测试时 我无法进行测试 总是显示错误 无法找到您输入的 Apple ID 或您的密码不正确 请重试
  • 适用于 Chrome,但不适用于 Firefox - jquery

    carat weight right li css left function index value if value 100 this children span css margin left 58px text align righ
  • 继续出现此编译错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 当我编译时 我不断收到此错误 mario c 4 1 error expected identifier or 我尝试过改变一些东
  • .htaccess - 将域/lang/重定向到每种语言的子域

    我已经为此苦苦挣扎了好几个星期 但无法找到解决方案 我必须在多语言网站的 htaccess 中进行重定向 其所有页面都遵循相同的结构 但每种语言都有一个子域 以下方式对 http 和 https 有效 domain es es allpag
  • gcc -D_FORTIFY_SOURCE=1 和 -D_FORTIFY_SOURCE=2 之间的区别

    有人可以指出两者之间的区别吗gcc D FORTIFY SOURCE 1 and D FORTIFY SOURCE 2 我猜 2更安全吗 我无法找到逐点列出差异的列表 我也读过 D FORTIFY SOURCE 2应该与使用 O2 否则并非
  • 如何从 Scala 方法创建 UDF(计算 md5)?

    我想从两个已经工作的函数构建一个 UDF 我正在尝试计算 md5 哈希作为现有 Spark Dataframe 的新列 def md5 s String String toHex MessageDigest getInstance MD5
  • JavaScript 字符串按正则表达式结果分割子字符串包含空切片

    我有以下字符串分割 JavaScript 代码 var formula field1 field2 field5 field2 field3 console log formula split 而结果却出乎意料 field1 field2
  • QFileSystemModel rowCount 未按预期工作

    我正在尝试模型 视图编程中的一个示例 http doc qt io qt 5 model view programming html http doc qt io qt 5 model view programming html 为了演示如
  • 如何确定docker容器端口号?

    ASP NET 应用程序部署到 Docker 容器 即 可以通过以下方式访问 http 10 98 1 191 1673 webapp start http 10 98 1 191 1673 webapp start 从后端来看 我需要确定
  • 如何使用多个输入的任何循环指定输入目录?

    public class MultiXslt public static void main String args throws TransformerException ParserConfigurationException SAXE
  • 手机上的 Silverlight 网站

    我正在开发一个 Silverlight 网站 功能要求之一是旋转图像在所有浏览器上显示 该测试站点在所有桌面计算机浏览器中看起来都很棒 现在的问题是手机上的系统无法加载 我无法理解 iPhone 黑莓等设备上没有插件 但我的问题是在 Mic
  • PyScripter Rpyc

    也许有人可以给我一些如何将 Rpyc 安装到 PyScripter 的指南 我使用 PyScripter 1 9 9 7 和 Python 2 6 我尝试用谷歌搜索并找到一些说明 但仍然没有成功 Thanks 抓取文件rpyc 2 60 p
  • 如何获取树视图中的所有展开节点?

    我有一个包含 TreeView 的程序 除了根节点和根节点下的两个节点之外 我的所有节点都是从数据库加载的 当用户将数据添加到数据库时 它必须自动添加到 TreeView 我可以通过清除所有节点 添加默认节点并将所有数据 包括新节点 添加到
  • 意外的状态行:ICY 200 对于 URL openStream() 方法可以吗?

    根据 kitakt 4 4 的更改 播放 Shoutcast 流会出现一些问题 那些返回 ICY 而不是 HTTP 1 x 响应的问题 因此 kitkat 的解决方案是在我们打开流之前在 JVM 中重新注册一次 icy 协议前缀 try j
  • OCaml 中的“[< >]”是什么意思?

    我看过一些源代码 let rec parse document parser lt len parse int32 st gt gt parse list ES take int32 len st lt gt gt malformed pa
  • C# WPF 中的 TextRange 和 RichTextBox

    我一直在尝试编写一个程序来在 richTextBox 中搜索单词 我已经完成了大部分 但看起来我错过了一些东西 我想为找到的单词着色 所以我写了以下内容 private void button1 Click object sender Ro
  • 捕获linux中的所有信号

    我正在尝试在 C linux 中编写一个进程 该进程忽略 SIGINT 和 SIGQUIT 信号并退出 SIGTERM 对于其他信号 它应该写出信号和时间 我无法捕获所有信号 因为我只熟悉捕获 1 个信号 如果有人能帮助我 我将非常感激 这
  • 如何在 Android 上执行 USSD 请求?

    一些自定义拨号器应用程序 例如 MotoBlur 的拨号器 能够执行 USSD 请求 通过SDK真的不可能做到这一点吗 API26中添加了ussd api 因此 由于 Oreo 与 ussd 的配合看起来像这样 TelephonyManag