Java android.intent.action.CALL\u是否需要系统权限?

Java android.intent.action.CALL\u是否需要系统权限?,java,android,android-intent,Java,Android,Android Intent,我尝试使用“android.intent.action.CALL_PRIVILEGED”在android中运行USSD代码,但即使我使用了必需的权限,它也会抛出SecurityException 代码: String encodedHash = Uri.encode("#"); String ussd = "*141" + encodedHash; startActivityForResult(new Intent("and

我尝试使用“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

“android.permission.CALL_PRIVILEGED”是否需要系统权限? 如果是,我如何在我的应用程序中使用它

“android.permission.CALL\u PRIVILEGED”是否需要系统权限

如果是,我如何在我的应用程序中使用它


您的应用程序需要安装在系统分区上(例如,由根设备用户)或使用与其他固件相同的签名密钥(例如,由设备制造商或ROM modder)进行签名。

谢谢,是否有任何链接可供参考。基本上,我想在我的应用程序上运行一些USSD代码,而无需打开拨号接口。@KrishnaRoy:“是否有任何链接可供参考”--它被称为“Android源代码”。特别是,有一个定义所有标准权限的
AndroidManifest.xml
文件:感谢Commonware,你的意思是,我必须下载Android Sourece代码并在我的系统上进行本地设置,然后,我可以添加一些标准权限并进行一些其他更改?@KrishnaRoy:否。您的应用程序不能持有
呼叫特权
,根设备用户除外(这样他们可以在系统分区上安装您的应用程序)。或者,如果你想建立你自己的ROM模块,你的应用程序可以是ROM模块的一部分。感谢CommonWare,我明白你的意思,但是除了CALL_PRIVILEGED之外,在运行USSD代码时,还有没有其他方法隐藏(后台运行)拨号接口?
   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