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());
    }
相关推荐
tb_first6 分钟前
LangChain4j简单入门
java·spring boot·langchain4j
独自破碎E13 分钟前
【BISHI9】田忌赛马
android·java·开发语言
范纹杉想快点毕业19 分钟前
实战级ZYNQ中断状态机FIFO设计
java·开发语言·驱动开发·设计模式·架构·mfc
smileNicky1 小时前
布隆过滤器怎么提高误差率
java
それども1 小时前
分库分表的事务问题 - 怎么实现事务
java·数据库·mysql
Java面试题总结1 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
马猴烧酒.1 小时前
【面试八股|Java集合】Java集合常考面试题详解
java·开发语言·python·面试·八股
代码s贝多芬的音符1 小时前
android 两个人脸对比 mlkit
android
测试工程师成长之路1 小时前
Serenity BDD 框架:Java + Selenium 全面指南(2026 最新)
java·开发语言·selenium
lang201509282 小时前
Java JSON绑定API:JSR 367详解
java·java-ee