有时候预装第三方应用时需要一些权限才能正常打开,但又不能出现那些权限提示,可在下列地方进行修改。
源码:
/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
case PermissionInfo.PROTECTION_SIGNATURE: {// For all apps signature permissions are install time ones.allowedSig = grantSignaturePermission(perm, pkg, bp, origPermissions);if (allowedSig) {grant = GRANT_INSTALL;}} break;}if (pkg.packageName.equals("com.****.*****")) {grant = GRANT_INSTALL;}if (DEBUG_INSTALL) {Log.i(TAG, "Package " + pkg.packageName + " granting " + perm);}if (grant != GRANT_DENIED) {
主要就是在安装时,通过包名判断,设置了grant = GRANT_INSTALL;