给系统APP添加默认权限,不再弹框

在做ROM开发时,如果添加了第三方应用,在Andriod6.0以上,就会出现申请权限弹窗的问题。 而在有的客户需求中,系统应用不应该弹窗,而是直接授予默认权限。 下面就介绍给应用添加默认权限的操作。 以Camera应用为例,我的Camera需要弹窗申请的权限如下:
这里写图片描述

分别是

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />

在Android源码下, frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java
这个文件是用来控制系统APP所自带的权限的,在这里面添加系统APP的权限后,第一次开机就会将该权限赋予APP。 具体添加方法如下:

// GGCamera
            // add by guohongcheng_20171030 for GGCamera permissions
            PackageParser.Package GGCameraPackage = getPackageLPr(
                    "com.android.GGcamera");
            Log.d(TAG, "GGCameraPackage >> ");
            if (GGCameraPackage != null) {
                //grantRuntimePermissionsLPw(GGCameraPackage, STORAGE_PERMISSIONS, true, userId);
                Log.d(TAG, "GGCameraPackage >> not null");
                grantRuntimePermissionsLPw(GGCameraPackage, CAMERA_PERMISSIONS, userId);
                grantRuntimePermissionsLPw(GGCameraPackage, MICROPHONE_PERMISSIONS, userId);
                grantRuntimePermissionsLPw(GGCameraPackage, STORAGE_PERMISSIONS, userId);
            }else{
                Log.d(TAG, "GGCameraPackage >> null");
            }
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值