我试图使用forceStopPackage().杀死另一个应用程序但是我的应用程序显示了运行时错误。
错误:
java.lang.SecurityException: Permission Denial: forceStopPackage() from pid=10377, uid=10200 requires android.permission.FORCE_STOP_PACKAGES在我的清单文件中,我添加了以下权限。
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<permission
android:name="android.permission.FORCE_STOP_PACKAGES"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="signature"
android:sharedUserId="android.uid.system" />代码:
ActivityManager am = (ActivityManager)
context.getSystemService(Context.ACTIVITY_SERVICE);
Method forceStopPackage = am.getClass().
getDeclaredMethod("forceStopPackage", String.class);
forceStopPackage.setAccessible(true);
forceStopPackage.invoke(am, packageName);如何解决这个问题。
发布于 2017-08-18 23:59:09
我知道这是一个旧的线程,但我想确保访问这个线程的工程师有最新的信息。
android.permission.FORCE_STOP_PACKAGES是signature权限,因此它需要进入priv-app下的系统分区。因此,无论谁想在他们的应用程序中获得这一许可,都必须与相应的OEM合作,将其预加载到priv-app中。
从Android开始:此权限以及App名称需要在其中一个权限xml中声明
私有应用程序-权限-Platform.xml- AOSP应用程序私有应用-权限-google.xml-谷歌应用程序-权限-..xml OEM/ODM,OEM关联和其他
<privapp-permissions package="com.abc.android.xyz">
<permission name="android.permission.FORCE_STOP_PACKAGES"/>
</privapp-permissions> 发布于 2014-03-05 02:19:16
您必须在AndroidManifest.xml中添加权限,如下所示。
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"></uses-permission>只有当你的应用程序被系统密钥s签署后,才能停止其他应用程序。
https://stackoverflow.com/questions/20717708
复制相似问题