如何读取/拦截 Android 手机上的 USSD 消息

Posted

技术标签:

【中文标题】如何读取/拦截 Android 手机上的 USSD 消息【英文标题】:How to read/intercept USSD message coming on Android phone 【发布时间】:2015-01-22 07:09:12 【问题描述】:

所以直到这一点,我所能想到的就是在 android 4.2.2 之前,我们有两种方法可用:

    使用 logcat 并从中提取信息 Runtime.getRuntime().exec( "logcat -v time -b main PhoneUtils:D"); 我使用这段代码阅读了logcat 并在此处找到displayMMIComplete 消息

    使用提供的名为 com.android.ussd.IExtendedNetworkService 的意图并监听此意图并执行任务。

所以到目前为止我已经确认的是,从 4.0 开始,此意图已被删除,并且从 4.2.2 开始,logcat 中 USSD 消息信息的打印已被删除?

到这里为止我是对的吗? 其次,现在阅读 USSD 消息的黑客或解决方案是什么,我们必须有某种方法可以通过它?

【问题讨论】:

【参考方案1】:

目前还没有 Android 框架提供的 API,可用于以便携式方式“读取/拦截”USSD 消息。

您提到的 2 种方法是目前可用的,但正如您所提到的,Android 开源项目不再支持它。

有一个request/discussion 正在进行,这清楚地表明许多开发人员正在请求此功能,但到目前为止,Google 方面没有更新/沟通来解释未来关于添加对“读取/拦截”USSD 消息的支持的路线图以便携的方式。

【讨论】:

以上是关于如何读取/拦截 Android 手机上的 USSD 消息的主要内容,如果未能解决你的问题,请参考以下文章

使用 USSD 代码启用 SIM/RUIM 锁定 - Android / Airtel India

Android - 在三星设备上使用 USSD API 运行 USSD *#0011#

客户端(手机)如何拦截和修改http响应

安卓手机如何读取外置sd卡

如何使用 Charles 拦截来自安卓手机的请求?

如何使用 javascript 或 jquery 拦截 Web 应用程序的 Android 数字软键盘上的“开始”按钮