java – 尝试在android中更改组件状态安全性异常

嗨,我正在框架端实现一个测试应用程序禁用另一个应用程序,但当我运行我的测试应用程序,它正在显示

Java.lang.SecurityException: Permission Denial: attempt to change component state from pid=xxx,uid=xxxx,package uid=xxx
at xxxxxxxx

我的java代码

PackageManager pm = getApplicationContext().getPackagemanager();
pm.setComponentEnabledSetting(new ComponentName("com.example","MainActivity"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);

AndroidManifest.xml中

<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE>

我已经尝试过两种权限(Permission仅授予系统应用程序)并尝试过标签,但没有幸运

如何使用授予权限的系统应用程序,

你能不能帮我解决这个问题

提前致谢

最佳答案 如果您的应用程序不是系统分区的一部分,那么您将不会被授予权限.将应用程序放入系统分区并确认在dexopt期间解析应用程序时PackageManager会授予您所需的权限.

点赞