Android P 默认授予应用运行时权限和安装权限

Android P及更高版本中,系统在用户运行应用时处理权限管理。默认情况下,应用被授予运行时和安装权限。在`PermissionManagerService.java`中,权限被设定为GRANT_RUNTIME和GRANT_INSTALL。安装新应用时,`AppOpsManager.java`或`CtaAppOpsManager.java`文件中,OP_REQUEST_INSTALL_PACKAGES操作模式被设置为允许,以便用户可以顺利安装未知应用。

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 或

vendor/mediatek/proprietary/frameworks/opt/cta/java/com/mediatek/cta/CtaAppOpsManager.java

@@ -1240,7 +1240,7 @@ public class AppOpsManager {
             AppOpsManager.MODE_ALLOWED,  // OP_RUN_IN_BACKGROUND
             AppOpsManager.MODE_ALLOWED,  // OP_AUDIO_ACCESSIBILITY_VOLUME
             AppOpsManager.MODE_ALLOWED,
-            AppOpsManager.MODE_DEFAULT,  // OP_REQUEST_INSTALL_PACKAGES
+            AppOpsManager.MODE_ALLOWED,  // OP_REQUEST_INSTALL_PACKAGES
             AppOpsManager.MODE_ALLOWED,  // OP_PICTURE_IN_PICTURE
             AppOpsManager.MODE_DEFAULT,  // OP_INSTANT_APP_START_FOREGROUND
             AppOpsManager.MODE_ALLOWED,  // ANSWER_PHONE_CALLS
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值