我正在运行USSD代码以转发来自Android应用程序的调用。问题是代码在一些较旧的Android版手机上运行,但在最近的版本上出现“无效的MMI代码连接问题”错误。这个MMI错误出现的原因是什么?
答案 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
希望这有帮助