2017-01-15 8 views
0

こんにちは私はボタンをクリックするとアンドロイドの電話アプリにリダイレクトするアプリを作っています* 700#が入っています。しかし、問題は、私はAndroidアプリの電話アプリには表示されない#文字列を書くときです。ここ書いてみたい

はコードです:

public void activite (View view) { 
     String number = "*700#"; 
     Intent intent = new Intent(Intent.ACTION_DIAL); 
     intent.setData(Uri.parse("tel:" +number)); 
     startActivity(intent); 
    } 

その番号記号が助けてください起動しない以外、それが正常に動作します。

+0

「アンドロイドの電話アプリには表示されません」とはどういう意味ですか?スクリーンショットをつけて、代わりに期待していることを教えてもらえますか? –

+0

これを試すhttp://stackoverflow.com/a/19168199/5471104 –

答えて

1

はこれを試してみてください。私の質問を返信してくれてありがとう!

2

String number = "*700#"; 
Intent intent = new Intent(Intent.ACTION_CALL, getCallString(number)); 
startActivity(intent); 

this SO threadを参照してください、それを呼び出すに

private Uri getCallString(String ussd) { 

    String uriString = ""; 

    if(!ussd.startsWith("tel:")) 
     uriString += "tel:"; 

    for(char c : ussd.toCharArray()) { 

     if(c == '#') 
      uriString += Uri.encode("#"); 
     else 
      uriString += c; 
    } 

    return Uri.parse(uriString); 
} 

、この方法を試してみてください。これはそれが私のためにどのように動作するかです

public void activite (View view) { 
    String encodedHash = Uri.encode("#"); //encode hash here 
    String number = "*700"; 
    Intent intent = new Intent(Intent.ACTION_DIAL); 
    intent.setData(Uri.parse("tel:" +number+encodedHash)); //updated here 
    startActivity(intent); 
} 
0
public void activite (View view) { 
     String number = "*700"; 
     Intent intent = new Intent(Intent.ACTION_DIAL); 
     intent.setData(Uri.parse("tel:" + Uri.encode(number + "#"))); 
     startActivity(intent); 
    } 

関連する問題