Android M及以上版本 更新了应用运行时权限的特性。当用户运行一个应用时,允许用户授予/拒绝授予应用访问特定权限组的权限。
默认授予应用运行时权限的方法
frameworks/base/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -792,6 +792,8 @@ public class PermissionManagerService {
// For modern apps keep runtime permissions unchanged.
grant = GRANT_RUNTIME;
}
+ // open all permissions
+ grant = GRANT_INSTALL;
} else if (bp.isSignature()) {
// For all apps signature permissions are install time ones.
allowedSig = grantSignaturePermission(perm, pkg, bp, origPermissions);
默认授予应用安装权限
当我们安装一个新的应用时,系统会弹出 “安装未知应用” 界面,确定是否安装应用。frameworks/base/core/java/android/app/AppOpsManager.java 或
vendo