ACTION_CALL 意图去掉数字末尾的#

ACTION_CALL Intent getting rid of # at the end of number

下面的代码在 android 内进行调用,但是,号码末尾的 # 被删除并且 android 调用没有它的号码,有没有办法指定 android 应该将 # 保留在数字的末尾,因为在这种情况下我需要它?

Intent startCall = new Intent(Intent.ACTION_CALL);
Uri uri = Uri.parse("tel:*001203#");
startCall.setData(uri);
startActivity(startCall);

Android 清单具有以下权限。

<uses-permission android:name="android.permission.CALL_PHONE"/>
String hash = Uri.encode("#");
String ussd = "*" + hash + "001203" + hash;
startActivityForResult(new Intent("android.intent.action.CALL",Uri.parse("tel:" + ussd)), 1);

这是解决方法。

只需在点击时使用此代码段:

call.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String s = Uri.encode("*001203#");
            Intent callIntent =  new Intent(Intent.ACTION_DIAL);;
            callIntent.setData(Uri.parse("tel:"+s));
            startActivity(callIntent);
        }
    });