我的Android应用程序失败,所有正常数字都运行良好。
我发现苹果明确禁止拨打此类号码,因为担心呼叫转发技巧,但我无法找到记录的原因,因为Android SDK上的这个失败
你能指出我的原因吗?
由于
答案 0 :(得分:1)
可能你的意思是拨打USSD代码。如果是这样 - 那么这是一个漫长而有趣的故事,因为它仍然在Android功能请求中(请看Feature Request: Add USSD API support)。
据我所知,使用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
答案 1 :(得分:1)
我也有这个问题,我觉得最后的答案是对的,但我建议你用这个代码来拨打* 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);