修改路徑:
frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java
修改內容:
private void handlePackagePostInstall(PackageInstalledInfo res, boolean grantPermissions,
...
// Now that we successfully installed the package, grant runtime
// permissions if requested before broadcasting the install. Also
// for legacy apps in permission review mode we clear the permission
// review flag which is used to emulate runtime permissions for
// legacy apps.
- //if (grantPermissions) {
+ Log.i(TAG, "handlePackagePostInstall==>>" + res.name);
if (grantPermissions || res.name.equals("com.iflytek.inputmethod")) {
final int callingUid = Binder.getCallingUid();
mPermissionManager.grantRequestedRuntimePermissions(
res.pkg, res.newUsers, grantedPermissions, callingUid,
mPermissionCallback);
}
...
}
對於預裝軟件,據說是在DefaultPermissionGrantPolicy裏面改的,不過我沒測試
frameworks\base\services\core\java\com\android\server\pm\permission\DefaultPermissionGrantPolicy.java
函數:
private void grantDefaultSystemHandlerPermissions(int userId)
參考: