java - android.intent.action.CALL_PRIVILEGED 是否需要系统权限?

标签 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);

安卓 list 文件:

 <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”是否需要系统权限? 如果是,我该如何在我的应用程序中使用它?

最佳答案

Is "android.permission.CALL_PRIVILEGED" required System Permission ?

是的。

if yes than how can i use this in my Application ?

您的应用需要安装在系统分区上(例如,由获得 root 权限的设备用户安装)或使用与其余固件签名相同的签名 key 进行签名(例如,由设备制造商或 ROM retrofit 商安装)。

关于java - android.intent.action.CALL_PRIVILEGED 是否需要系统权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21492713/

相关文章:

java - 用于反射的泛型类型声明

java - JVM 是否创建自己的交换区?

android - gradle ndk generateJsonModelDebug 失败

java - 添加到 ArrayList 时如何避免 "incompatible parameter types in lambda expression"?

java - 极长的 GC 时间

android - audioManager.getstreamVolume(AudioManager.STREAM_RING) 始终返回 0

android - 使用数据库中的值填充 EditText

android - 激活 NFC 操作时应用程序图标不再出现

android - 无法从 Google Glass 发送邮件

android - 如何像我们在 Android 应用程序中使用 Intent.ACTION_SEND 那样通过 iOS 应用程序中的其他应用程序共享内容/数据?