源码位置:

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


public AppOpsService(File storagePath)

 {  

    mStrictEnable = "true".equals(SystemProperties.get(STRICT_PERMISSION_PROPERTY)); 

 }  

check if strict

private boolean isStrict(int code, int uid, String packageName) {     

 if (!mStrictEnable)         

  return false;       

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重启应用程序 && 不重启应用不改变系统语言改变 Android
  2. [Android各版本特性]Android(安卓)7.0 Nougat
  3. android appos 笔记
  4. Android(安卓)学习 -- android 发展史及由来
  5. Android的一些基本概念
  6. Android将允许纯C/C++开发应用
  7. Android(安卓)核心分析(13) -----Android(安卓)GWES之Android窗
  8. android中线程的应用
  9. Android:保护自己开发的Android应用程序

随机推荐

  1. Android(安卓)TabSwitcher自定义控件
  2. Android(安卓)Location Providers - gps,
  3. Android(安卓)之Http
  4. android addfootview
  5. Android(安卓)自定义组合控件
  6. android中实现自定义view中图形的缩放
  7. bitmap转字节
  8. android memory tips
  9. 安卓 简易版音乐播放器——初稿
  10. VelocityTracker 注释