1. 程式人生 > >Android原始碼之指定第三方app許可權預設開啟

Android原始碼之指定第三方app許可權預設開啟

系統app的許可權預設開啟,大家應該都知道是修改DefaultPermissionGrantPolicy.java。
而手動安裝的第三方app的許可權預設開啟是修改PackageManagerService.java。
在grantPermissionsLpw函式中新增如下程式碼

        if(pkg.packageName.contains("zhaohua")) {
            final int permsSize = pkg.requestedPermissions.size();
            for (int i=0; i<permsSize; i++) {
                final String name = pkg.requestedPermissions.get(i);
                final BasePermission bp = mSettings.mPermissions.get(name);
                if(null != bp && permissionsState.grantInstallPermission(bp) != PermissionsState.PERMISSION_OPERATION_FAILURE) {
                    Slog.d(TAG, "zrx--- grant permission " + name + " to package " + pkg.packageName);
                    changedInstallPermission = true;
                }
            }
        }