从Android应用程序运行USSD代码时出现MMI代码错误

时间:2013-01-24 10:43:08

标签: android ussd

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

1 个答案:

答案 0 :(得分: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代码。

看起来似乎付出了很多努力,因为Google目前没有任何API支持USSD代码,https://code.google.com/p/android/issues/detail?id=1285

希望这有帮助