1

我正在运行 USSD 代码来转发来自 Android 应用程序的呼叫。问题是代码在一些较旧的 Android 版本手机上运行,​​但在最近的手机上出现“无效的 MMI 代码连接问题”错误。出现此 MMI 错误的原因是什么?

4

1 回答 1

1

这意味着您发送的 USSD 命令可能存在格式错误。android中USSD的传统格式是*xxx*xx*xxx-xxx-xxx#

如果您通过拨号器传递 USSD 代码,则末尾的“#”必须经过 uri 编码,以便拨号器正确解析其意图。

startActivity(new Intent(android.ACTION_CALL, new Uri.fromParts("tel", "*123*4*123456789" +  Uri.encode("#"), null));

或者,“#”的 Uri 代码是 %23,将其传递给拨号程序也将允许发送 USSD 代码。

看起来确实需要付出很多努力,这是因为谷歌目前没有任何 API 支持 USSD 代码,https://code.google.com/p/android/issues/detail? id=1285

希望这可以帮助

于 2013-06-22T14:25:11.943 回答