Android 使用*个字符拨打电话号码

Android 使用*个字符拨打电话号码,android,android-emulator,android-intent,Android,Android Emulator,Android Intent,在我的android应用程序上失败,所有正常数字都正常工作 我发现苹果公司明确禁止拨打此类电话号码是因为害怕呼叫转移技巧,但我找不到在Android SDK上失败的书面原因 你能给我指一份有理由的文件吗 谢谢您的意思可能是拨USSD码。如果是这样的话,那么这将是一个漫长而有趣的故事,因为它仍然在android的功能请求中(请看一看) 据我所知,使用Uri.encode的唯一解决方案是: startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(

在我的android应用程序上失败,所有正常数字都正常工作

我发现苹果公司明确禁止拨打此类电话号码是因为害怕呼叫转移技巧,但我找不到在Android SDK上失败的书面原因

你能给我指一份有理由的文件吗


谢谢

您的意思可能是拨USSD码。如果是这样的话,那么这将是一个漫长而有趣的故事,因为它仍然在android的功能请求中(请看一看)

据我所知,使用Uri.encode的唯一解决方案是:

startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(“tel:” + Uri.encode(strPhoneNumber))));
您还需要在清单文件中具有以下权限:

android.permission.CALL_PHONE
android.permission.CALL_PRIVILEGED 
android.permission.MODIFY_PHONE_STATE 

我也有这个问题,我想最后一个答案是正确的,但我建议你用这个密码拨一个像*8373这样的号码

String star = Uri.encode("*");
        String Hash = Uri.encode("#"); // if you want use # to add in your number! :)
        Intent call = new Intent(Intent.ACTION_CALL);
        Charge.setData(Uri.parse("tel:" + star +"8373"));
        startActivity(Charge);

失败的代码是什么?你使用Uri.parse吗?我通过appcelerator mobile使用geturl