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());
    }
相关推荐
ShiXZ21319 小时前
Java 8 Stream API 实用技巧详解:从入门到精通
java·开发语言
C++、Java和Python的菜鸟20 小时前
第9章 后端Web进阶(AOP)
java·开发语言·前端
东北赵四20 小时前
关于Java泛型的知识点及其相关面试题
java·windows·python
姓蔡小朋友20 小时前
Java线程并发
java·开发语言·python
执笔画流年呀20 小时前
⾃动化测试常⽤函数
java·dubbo
疯狂打码的少年20 小时前
【面向对象】UML概述(基本构造块:事物/关系/图)
java
一水21 小时前
TTFT优化:一个方案的5次推倒重来
java·ai·状态模式
AC赳赳老秦21 小时前
CSDN 技术社区数据采集:OpenClaw 抓取公开技术热帖,生成领域技术热点周报
java·大数据·前端·数据库·python·php·openclaw
磁爆步兵21 小时前
内存分区:程序运行的核心秘密
java·开发语言·jvm
2501_9159090621 小时前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview