Android 9.0开机时 给内置应用所有权限

1.介绍

此修改的应用场景是当某些apk打开时默认会有弹框提示申请权限,但在一些需求中是不希望apk弹框,所以只需要将应用授予权限作为安装权限 GRANT_INSTALL 就可以屏蔽掉弹框。

我们要了解下以下几个常量所代表的含义

 
    /** Permission grant: not grant the permission. */
    private static final int GRANT_DENIED = 1;  不授予权限
 
    /** Permission grant: grant the permission as an install permission. */
    private static final int GRANT_INSTALL = 2;  授予权限作为安装权限
 
    /** Permission grant: grant the permission as a runtime one. */
    private static final int GRANT_RUNTIME = 3; 授予运行运行时的权限
 
    /** Permission grant: grant as runtime a permission that was granted as an install time one. */
    private static final int GRANT_UPGRADE = 4; 授予作为运行时一个被授予的权限,作为一个安装时间
 

此修改实际上只适用于Android 9.0和Android 10.0两个版本

allowPackageName 此数组中可以添加多个应用包名让多个应用都默认获取到所有已申请的权限

路径:frameworks/base/services/core/java/com/android/server/pm/permission/PermissionManagerService.java

    private static final int[] EMPTY_INT_ARRAY = new int[0];

    //*/soda water.20220614 grant permission
          private String[] allowPackageName= {"com.baidu.map.location"};
    //*/soda water.20220614 grant permission end
    
    
    
                    } else if (bp.isRuntime()) {
                    if (origPermissions.hasInstallPermission(bp.getName())
                            || upgradedActivityRecognitionPermission != null) {
                        // Before Q we represented some runtime permissions as install permissions,
                        // in Q we cannot do this anymore. Hence upgrade them all.
                        grant = GRANT_UPGRADE;
                    } else {
                        // For modern apps keep runtime permissions unchanged.
                        grant = GRANT_RUNTIME;
                    }
//*/soda water.20220614 grant permission
                    for(String packageName : allowPackageName){ 
                        if(pkg.packageName!=null && pkg.packageName.equals(packageName)){
                          Log.d(TAG, "haha: PackageName=" + pkg.packageName +  ", permName=" + permName);
                            grant = GRANT_INSTALL;
                        }
                    }
//*/soda water.20220614 grant permission end

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不太正常的移动开发工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值