源码位置:

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


更多相关文章

  1. Android主流三方库源码分析(五、深入理解RxJava源码)
  2. Android 电话博大流程源码分析
  3. 第三部分:Android 应用程序接口指南---第一节:应用程序组件---第六
  4. 使用Android内部的DownloadProvider下载文件,并获取cache权限
  5. android小说阅读、MVP + RxJava + Retrofit项目、证件拍照裁剪、
  6. android弹力效果菜单、组件化项目、电影选座控件的源码
  7. Android电话拨打流程源码分析
  8. android仿网易云音乐、即时通讯、bilibili、沙漏动画等源码

随机推荐

  1. android的进程与线程
  2. Mac Error Create Android Project - “E
  3. android 设置缓存工具类
  4. Android Studio 使用github
  5. okhttp源码学习分析一
  6. android休眠与唤醒驱动流程分析
  7. android之location01
  8. radiolog不全的问题
  9. android webview js交互 (java和js交互)
  10. 相对布局