1.在frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java下添加固定包的權限
private void grantDefaultSystemHandlerPermissions(int userId) {
//.............
synchronized (mService.mPackages) {
//.........
//EM1902Launcher
PackageParser.Package em1902Package = getSystemPackageLPr("com.rollup.gatedemo");
Log.e("elaine","em1902Package:"+em1902Package==null?"null":"em1902Package");
if (em1902Package != null
&& doesPackageSupportRuntimePermissions(em1902Package)) {
grantRuntimePermissionsLPw(em1902Package, CAMERA_PERMISSIONS, userId);
grantRuntimePermissionsLPw(em1902Package, STORAGE_PERMISSIONS, userId);
grantRuntimePermissionsLPw(em1902Package, LOCATION_PERMISSIONS, userId);
grantRuntimePermissionsLPw(em1902Package, PHONE_PERMISSIONS, userId);
grantRuntimePermissionsLPw(em1902Package, SENSORS_PERMISSIONS, userId);
grantRuntimePermissionsLPw(em1902Package, SMS_PERMISSIONS, userId);
}
//.........
}
//...........
}
2.PackageParser.Package em1902Package = getSystemPackageLPr("com.rollup.gatedemo");指定你所需要默認使用權限的包名
3.doesPackageSupportRuntimePermissions(em1902Package)) {
grantRuntimePermissionsLPw(em1902Package, CAMERA_PERMISSIONS, userId);指定該包使用的權限
首次書寫CSDN,僅供學習、記錄