Android原始碼之指定第三方app許可權預設開啟
阿新 • • 發佈:2018-12-12
系統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; } } }