注:本文是根据Android 5.0的代码为基础
1. Appops简介
Appops是Application Operations的简称,是关于应用权限管理的一套方案,但这里的应用指的是系统应用,这些API不对第三方应用开放。Google从4.3开始推出Appops, 但一直到最新的Android N都没有在Settings里面开放Appops的入口,但这套方案却一直在后台默默的运行着。
2. 在 Settings中打开Appops
- 在. /packages/apps/Settings/res/xml/security_settings_misc.xml中配置
<Preference android:key="manage_device_admin"
android:title="@string/manage_device_admin"
android:summary="@string/manage_device_admin_summary"
android:persistent="false" />
+ <Preference android:key="app_ops_summary"
+ android:title="@string/app_ops_settings"
+ android:summary="@string/app_ops_settings_summary"
+ android:persistent="false"/>
添加相应处理代码
在./packages/apps/Settings/src/com/android/settings/SecuritySettings.java的onPreferenceTreeClick方法中添加相应的处理函数即可。此处就不贴具体代码了。效果图
每个权限有三种状态。允许(Allowed),禁止(Ignored),总是询问(Always ask),见