android appos 笔记
源码位置:
frameworks/base/services/java/com/android/server/AppOpsService.java
frameworks/base/core/java/android/app/AppOpsManager.{aidl,java}
frameworks/base/core/java/com/android/internal/app/IAppOps{Service,Callback}.aidl
是否打开服务:
修改系统属性:persist.sys.strict_op_enable
开启应用权限管理:true
关闭应用权限管理:false
publicAppOpsService(FilestoragePath)
{
mStrictEnable="true".equals(SystemProperties.get(STRICT_PERMISSION_PROPERTY));
}
check if strict
privatebooleanisStrict(intcode,intuid,StringpackageName){
if(!mStrictEnable)
returnfalse;
return((uid>Process.FIRST_APPLICATION_UID)&& (AppOpsManager.opStrict(code))&&!isInWhitelist(packageName));
}
private static boolean[] sOpStrict =new boolean[]{
true, //OP_COARSE_LOCATION
true,//OP_FINE_LOCATION
true,//OP_GPS
...
true,//OP_READ_SMS
};
不过目前测试好像上面的几个都没生效
菜单在
package/apps/settings/res/xml/security_settings_misc.xml
更多相关文章
- Android主流三方库源码分析(五、深入理解RxJava源码)
- Android 电话博大流程源码分析
- 第三部分:Android 应用程序接口指南---第一节:应用程序组件---第六
- 使用Android内部的DownloadProvider下载文件,并获取cache权限
- android小说阅读、MVP + RxJava + Retrofit项目、证件拍照裁剪、
- android弹力效果菜单、组件化项目、电影选座控件的源码
- Android电话拨打流程源码分析
- android仿网易云音乐、即时通讯、bilibili、沙漏动画等源码