1. 程式人生 > >Android原始碼 第三方應用普通安裝 app許可權預設開啟

Android原始碼 第三方應用普通安裝 app許可權預設開啟

       預裝應用app的許可權預設開啟,修改DefaultPermissionGrantPolicy.java。手動安裝的第三方app的許可權預設開啟是修改PackageManagerService.java。在grantPermissionsLpw函式中新增如下程式碼

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