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());
    }
相关推荐
我爱cope6 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
朝新_6 小时前
【Spring AI 】图像与语音模型实战
java·人工智能·spring
RH2312117 小时前
2026.4.16Linux 管道
java·linux·服务器
zmsofts7 小时前
java面试必问13:MyBatis 一级缓存、二级缓存:从原理到脏数据,一篇讲透
java·面试·mybatis
冬奇Lab7 小时前
Android 开发要变天了:Google 专为 Agent 重建工具链,Token 减少 70%、速度提升 3 倍
android·人工智能·ai编程
aq55356008 小时前
编程语言三巨头:汇编、C++与PHP大比拼
java·开发语言
我是无敌小恐龙9 小时前
Java SE 零基础入门Day01 超详细笔记(开发前言+环境搭建+基础语法)
java·开发语言·人工智能·opencv·spring·机器学习
心态与习惯10 小时前
Julia 初探,及与 C++,Java,Python 的比较
java·c++·python·julia·比较
imuliuliang10 小时前
存储过程(SQL)
android·数据库·sql
一叶飘零_sweeeet10 小时前
优秀文章合集
java