Android16 给应用默认获取权限

修改点在

/frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java

在grantDefaultSystemHandlerPermissions方法里面可以看到有很多默认获取权限的代码,在这里添加即可如:

复制代码
	  //add by xxx begin
      PackageInfo miniscreenPackageInfo = pm != null ? pm.getSystemPackageInfo("需要添加权限应用的包名") : null;
      if (miniscreenPackageInfo != null
              && doesPackageSupportRuntimePermissions(miniscreenPackageInfo)) { 
          grantPermissionsToSystemPackage(pm, "需要添加权限应用的包名",
                  userId, FOREGROUND_LOCATION_PERMISSIONS);
      }
      //add by xxx end   

这样修改会引起GMS问题,需要在/frameworks/base/core/java/android/app/ApplicationPackageManager.java的checkPermission方法里面同步修改

复制代码
    @Override
    public int checkPermission(String permName, String pkgName) {
        //add by xxx for grant permission begin
        String taker = mContext.getPackageName();
        if ("com.google.android.permission.gts".equals(taker)) {
            if("需要添加权限应用的包名".equals(pkgName)){
                return PERMISSION_DENIED;
            }
        }
        //add by xxx,for grant permission end
        return PermissionManager.checkPackageNamePermission(permName, pkgName, getUserId());
    }
相关推荐
SL_staff16 分钟前
运维救火实战:钉钉API变更致薪资计算中断,如何用可视化逻辑引擎5分钟热修复
java·开源·全栈
猫猫.15339 分钟前
HashTable、HashMap、ConcurrentHashMap 核心区别总结
java·开发语言·java-ee
传奇开心果1 小时前
【Compose Multiplatform跨端声明式UI实用技术】第19课:多平台部署与发布
android·kotlin
红尘伴蝶舞1 小时前
加密拦截器让抓包失效,我只能从 4KB 的 logcat 碎片里拼回 JSON
android·kotlin·ai编程
booboosui1 小时前
219 个还是 0 个:读不到微信界面时,我只加不删
android
Android打工仔1 小时前
Compose 中何时该用 padding,何时该用 offset
android·android jetpack
郭小李1 小时前
spring mvc 工作流程
java·spring·mvc
二流小码农1 小时前
HarmonyOS开发助手,0代码让元服务从开发到上架
android·ios·harmonyos
SL_staff2 小时前
BI大屏嵌入MES的登录态难题:JVS统一账号体系实战解法
java·数据分析·数据可视化
limit00752 小时前
三维 WebGIS 工具选型:加载、样式、分析、交付,一套界面能做完什么
android·前端·web3·安卓·webgl