Android 权限拒绝:forceStopPackage() [英] Android Permission Denial: forceStopPackage()

查看:66
本文介绍了Android 权限拒绝:forceStopPackage()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 forceStopPackage() 杀死另一个应用程序.但我的应用程序显示运行时错误.

I am try to kill another application using forceStopPackage(). But my application shows runtime error.

错误:

java.lang.SecurityException: Permission Denial: forceStopPackage() from pid=10377, uid=10200 requires android.permission.FORCE_STOP_PACKAGES

在我的清单文件中,我添加了以下权限.

In my manifest file i added the following permissions.

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

如何解决问题.

推荐答案

我知道这是一个旧线程,但我想确保访问此线程的工程师有最新信息.

I know this is ab old thread but i wanted to make sure engineers visiting this thread has latest information.

android.permission.FORCE_STOP_PACKAGES 是签名 |priviliged 权限因此它需要进入 priv-app 下的系统分区.因此,任何想要在他们的应用程序中获得此权限的人都必须与相应的 OEM 合作,将它们预加载到 priv-app 上.

android.permission.FORCE_STOP_PACKAGES is signature | priviliged permission hence it needs to go in to system partition under priv-app. So whoever wants to have this permission in their app have to work with respective OEM to pre-load them on to priv-app.

从 Android O 开始:此权限以及应用名称需要在其中一个权限 xml 中声明

Starting from Android O: This permission along with App name needs to be declared in one of the permission xml

privapp-permissions-platform.xml – AOSP 应用privapp-permissions-google.xml – Google Appsprivapp-permissions-.xml – OEM/ODM、OEM Associated 和其他

privapp-permissions-platform.xml – AOSP Apps privapp-permissions-google.xml – Google Apps privapp-permissions-.xml – OEM/ODM, OEM Associated and others

<privapp-permissions package="com.abc.android.xyz">
<permission name="android.permission.FORCE_STOP_PACKAGES"/>
</privapp-permissions> 

这篇关于Android 权限拒绝:forceStopPackage()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆