android.intent.action.CALL_PRIVILEGED需要系统权限吗?

时间:2014-02-01 00:49:45

标签: java android android-intent

我尝试使用“android.intent.action.CALL_PRIVILEGED”在Android中运行USSD代码,但即使我使用了必要的权限,它也会抛出SecurityException。

代码:

            String encodedHash = Uri.encode("#");
            String ussd = "*141" + encodedHash;
            startActivityForResult(new Intent("android.intent.action.CALL_PRIVILEGED",
                    Uri.parse("tel:" + ussd)), 1);

AndroidManifest.xml:

 <uses-permission android:name="android.permission.CALL_PRIVILEGED"></uses-permission>

但我仍然得到SecurityException

例外:

   AndroidRuntime(2756): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL_PRIVILEGED dat=tel:xxxxx cmp=com.android.phone/.PrivilegedOutgoingCallBroadcaster }from ProcessRecord{418f47c0 2756:com.usdrun/u0a10046} (pid=2756, uid=10046)requires android.permission.CALL_PRIVILEGED

我不知道为什么它会抛出SecurityException。

android.permission.CALL_PRIVILEGED”是否需要系统权限?  如果是,我怎么能在我的申请中使用它?

1 个答案:

答案 0 :(得分:1)

  

“android.permission.CALL_PRIVILEGED”是否需要系统权限?

  

如果是,我怎么能在我的申请中使用它?

您的应用程序需要安装在系统分区上(例如,由有根设备的用户)或使用签署其余固件的相同签名密钥签名(例如,由设备制造商或ROM修改程序)。 / p>