如何在 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 请求? 的相关文章

  • 如何快速自动发送FCM或APNS消息?

    我正在开发一项后端服务 通过 FCM 或 APNS 向移动应用程序发送推送通知 我想创建一个可以在一分钟内运行的自动化测试 并验证服务器是否可以成功发送通知 请注意 我不一定需要检查通知是否已送达 只需检查 FCM 或 APNS 是否已成功
  • 在包“android”中找不到属性“backgroundTint”的资源标识符

    我发现了一些视图 xml 属性 例如backgroundTint backgroundTintMode 但是当我使用它作为视图属性定义时 Eclipse 显示错误 No resource identifier found for attri
  • React Native 从 JavaScript 代码内部访问 strings.xml

    有没有办法访问当前值android app src main res values strings xml从 JavaScript 代码内部 我想为每个构建放置不同的端点 URL 但我什至无法检测到反应本机代码内的构建类型 而不必求助于 D
  • Sqlite数据库生命周期?关闭应用程序后它会被删除吗?

    我正在遵循一个简单的教程 该教程创建一个从 SQLiteOpenHelper 扩展的类 并创建一个包含一个表和 5 行的数据库 好的 但我需要更多地了解 android Sqlite 数据库 例如 如果应用程序关闭或手机关机会发生什么 数据
  • 在 Android Studio 中,为什么我必须在模拟器中单击“运行应用程序”两次才能启动应用程序?

    在 Android Studio 中 当我按播放按钮在 Android 模拟器上安装并运行应用程序时 大约 5 10 秒后 我在屏幕底部收到一条消息 显示 安装成功 但应用程序实际上并未运行在模拟器上 我必须再次按下播放按钮 这是非常令人沮
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • 无法获取log.d或输出Robolectrict + gradle

    有没有人能够将 System out 或 Log d 跟踪从 robolectric 测试输出到 gradle 控制台 我在用Robolectric Gradle 测试插件 https github com robolectric robo
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • 找不到处理意图 com.instagram.share.ADD_TO_STORY 的活动

    在我们的 React Native 应用程序中 我们试图让用户根据视图 组件中的选择直接将特定图像共享到提要或故事 当我们尝试直接使用 com instagram share ADD TO FEED 进行共享时 它以一致的方式完美运行 但是
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp

随机推荐

  • 在 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