顶级目录:/frameworks/base/services/core/java/
修改文件:com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
private void grantDefaultSystemHandlerPermissions(int userId) {
Log.i(TAG, "Granting permissions to default platform handlers for user " + userId);
+ PackageInfo yourAppPackageInfo = getPackageInfo("your app package");
+ if (yourAppPackageInfo != null && doesPackageSupportRuntimePermissions(yourAppPackageInfo)) {
+ grantPermissionsToPackage(yourAppPackageInfo, userId, false, true, true, STORAGE_PERMISSIONS);
+ grantPermissionsToPackage(yourAppPackageInfo, userId, false, true, true, ALWAYS_LOCATION_PERMISSIONS);
+ }
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
这里可授予的权限包有:
- STORAGE_PERMISSIONS
- ALWAYS_LOCATION_PERMISSIONS
- PHONE_PERMISSIONS
- CAMERA_PERMISSIONS
- SMS_PERMISSIONS
- CALENDAR_PERMISSIONS
- CONTACTS_PERMISSIONS
- SENSORS_PERMISSIONS
- MICROPHONE_PERMISSIONS
- ACTIVITY_RECOGNITION_PERMISSIONS
这些权限包涉及的具体权限,可在DefaultPermissionGrantPolicy.java
这个文件中找到。
注意
这里预授权的应用,指的是APP在安装时默认授权,这些权限必须在AndroidManifest.xml
中提前声明,如果是APK更新后加入的权限,可能不生效。
未经本人同意,禁止转载!