Android 如何在phonecall函数中的数字末尾附加#

Android 如何在phonecall函数中的数字末尾附加#,android,Android,我的代码是: x="*141#"; String phoneCallUri =("tel:" + x); Intent phoneCallIntent = new Intent(Intent.ACTION_DIAL); phoneCallIntent.setData(Uri.parse(phoneCallUri)); startActivity(phoneCallIntent); 当调用电话呼叫功能时,它不使用#仅调用*141。请帮帮我 提前感谢您应该

我的代码是:

    x="*141#"; 
    String phoneCallUri =("tel:" + x);
    Intent phoneCallIntent = new Intent(Intent.ACTION_DIAL);
    phoneCallIntent.setData(Uri.parse(phoneCallUri));
    startActivity(phoneCallIntent);
当调用电话呼叫功能时,它不使用#仅调用*141。请帮帮我
提前感谢

您应该将第二行更改为:
String phoneCallUri=“tel:”+Uri.encode(x)

#
在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);