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