java - 如何读取/拦截来自 Android 手机的 USSD 消息

标签 java android android-intent ussd

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

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

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

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

我说的对吗? 其次,现在读取 USSD 消息的破解或解决方案是什么,我们必须有某种方法可以通过它吗?

最佳答案

Android 框架还没有提供可用于以可移植方式“读取/拦截”USSD 消息的 API。

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

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

关于java - 如何读取/拦截来自 Android 手机的 USSD 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28083067/

相关文章:

android - 使用存储访问框架打开特定目录

Android Intent putExtra(String, Serializable)

java - 如何使用过滤器?

java - 如何开始创建 Java Web 服务?

java - ServletContextListener 问题 | HTTP 状态 404 -

android - OpenGL ES 2.0 的漫反射着色器 : Light changes with camera movement (Vuforia on Android)

来自类的 Android Intent With On Receive

java - 将一个 HashMap 存储在另一个 HashMap 中并提高性能

java - 将大量数据从 servlet 传输到 android 应用程序

android - Eclipse 和 Android XML 布局给出 "' 默认值'不是任何设备/区域设置组合的最佳匹配“