这两天老大发话说要我研究一下安卓安全软件的功能,先抽取了一个小模块,研究权限管理
一开始就去packagemanager 去看发现有几个方法:
就先去看了一下IPackagemanager 里面的方法:
有很多 这里我之列出跟权限有关的
看安全软件上的功能:
通过包名找权限
通过权限找包名
禁用 提示 允许 三种状态
首先:就发现了2个方法:
还有一个情况就算PackageManager 类中:getPackageInfo方法PackageInfo可以拿到requestedPermissions 所有的申请的权限,而安全软件上的权限只有一部分,我开始以为通过某种方式过滤掉一部分。
测试了一段时间 我就发现可能不是这个原因,肯定是我的思路错了。
我又去 上查了一部分资料:看到这个类AppOpsManager 我就明白了 我找到相应的服务端代码IAppOpsService:
它通过mode的方式来设置状态,
可以通过包名获取权限
也可以通过权限获取包名
更重要的是返回权限不是全部的 会根据级别 系统写好的返回给你
你可以根据权限做个分级,这一切就明朗了。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!