java是安卓所需的系统权限。意图行动给你打电话?
我尝试使用“安卓.intent.action.CALL_PRIVILEGED”在安卓中运行USSD代码,但即使我使用了必需的权限,它也会抛出SecurityException
代码:
String encodedHash = Uri.encode("#");
String ussd = "*141" + encodedHash;
startActivityForResult(new Intent("安卓.intent.action.CALL_PRIVILEGED",
Uri.parse("tel:" + ussd)), 1);
AndroidManifest。xml:
<uses-permission 安卓:name="安卓.permission.CALL_PRIVILEGED"></uses-permission>
但我还是得到了安全例外
例外情况:
AndroidRuntime(2756): java.lang.SecurityException: Permission Denial: starting Intent { act=安卓.intent.action.CALL_PRIVILEGED dat=tel:xxxxx cmp=com.安卓.phone/.PrivilegedOutgoingCallBroadcaster }from ProcessRecord{418f47c0 2756:com.usdrun/u0a10046} (pid=2756, uid=10046)requires 安卓.permission.CALL_PRIVILEGED
我不明白它为什么抛出SecurityException
“安卓.permission.CALL_PRIVILEGED”是否需要系统权限? 如果是,我如何在我的应用程序中使用它
# 1 楼答案
对
您的应用程序将需要安装在系统分区上(例如,由根设备用户)或使用与对其余固件进行签名相同的签名密钥进行签名(例如,由设备制造商或ROM modder)