1.在frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java下添加固定包的权限
private void grantDefaultSystemHandlerPermissions(int userId) {
//.............
synchronized (mService.mPackages) {
//.........
PackageParser.Package package = getSystemPackageLPr("com.xxx.xxx");
if (package != null
&& doesPackageSupportRuntimePermissions(package )) {
grantRuntimePermissionsLPw(package , CAMERA_PERMISSIONS, userId);
grantRuntimePermissionsLPw(package , STORAGE_PERMISSIONS, userId);
grantRuntimePermissionsLPw(package , LOCATION_PERMISSIONS, userId);
grantRuntimePermissionsLPw(package , PHONE_PERMISSIONS, userId);
grantRuntimePermissionsLPw(package , SENSORS_PERMISSIONS, userId);
grantRuntimePermissionsLPw(package , SMS_PERMISSIONS, userId);
}
//.........
}
//...........
}
2.PackageParser.Package package= getSystemPackageLPr("com.xxx.xxxx");指定你所需要默认使用权限的包名
3.
doesPackageSupportRuntimePermissions(package)) {
grantRuntimePermissionsLPw(package, CAMERA_PERMISSIONS, userId);
指定该包使用的权限
首次书写CSDN,仅供学习、记录