Android アプリケーションからの通話を転送する USSD コードを実行しています。問題は、一部の古い Android バージョンの携帯電話でコードが実行されることですが、最近のものでは「無効な MMI コード接続の問題」エラーが発生します。この MMI エラーが発生する理由は何ですか?
11205 次
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 コードも送信できます。
それは大変な労力のように思えますが、それは現在 Google が USSD コードの API サポートを行っていないためです。https: //code.google.com/p/android/issues/detail?id=1285
お役に立てれば
于 2013-06-22T14:25:11.943 に答える