1

私のコードは:

    x="*141#"; 
    String phoneCallUri =("tel:" + x);
    Intent phoneCallIntent = new Intent(Intent.ACTION_DIAL);
    phoneCallIntent.setData(Uri.parse(phoneCallUri));
    startActivity(phoneCallIntent);

通話機能が呼び出されたときに # のみを使用しません *141 が呼び出されます。助けてください よろしくお願いします

4

2 に答える 2

1

2 行目を次のように変更する必要があります。String phoneCallUri = "tel:" + Uri.encode(x);

于 2013-07-22T11:51:42.037 に答える
1

#Uri には空間的な意味があるため、エンコードする必要があります。これを次のように修正します。

x="*141#"; 
String phoneCallUri =("tel:" + Uri.encode(x));
Intent phoneCallIntent = new Intent(Intent.ACTION_DIAL);
phoneCallIntent.setData(Uri.parse(phoneCallUri));
startActivity(phoneCallIntent);


編集:
またはより良いアプローチ:

x="*141#";
Uri  uri = Uri.fromParts("tel", x, null);
Intent phoneCallIntent = new Intent(Intent.ACTION_DIAL);
phoneCallIntent.setData(uri);
startActivity(phoneCallIntent);
于 2013-07-22T11:51:53.353 に答える