2016-07-08 10 views
0

"#"と "*"を含む番号に電話をかけようとしています。私の問題は "#"は私が呼び出しようとしている番号に書き込まなかったことです。"#"を含む番号に電話をかける

例:「* 142#」への電話では、「* 142」という電話が表示されます。

私が使用しています:

Intent i = new Intent() 
     .setAction(Intent.ACTION_CALL) 
     .setData(Uri.parse("tel:*142#")); 
startActivity(i); 

答えて

0

を#はURIのための特別な文字であるので、あなたが持っている問題がある。この

Uri.parse(String.format("tel:%s", Uri.encode(number))) 
+0

私はそれを使用できません! 、 なぜ? –

+0

もう少し詳しい情報が必要です。あなたはそれを使用できないという意味ですか? – BR89

+0

このスレッドをチェックするhttp://stackoverflow.com/questions/4815785/initiate-a-phone-call-on-android-with-special-character – BR89

1

を試してみてください。これを回避するには、URI.encodeを使用してエンコードする必要があります。見てみて、以下を試してみてください:

Intent i = new Intent() 
      .setAction(Intent.ACTION_CALL) 
      .setData(URI.parse("tel:" + URI.encode("*142#")); 
startActivity(i); 
関連する問題