android 9 第三方app默認擁有權限

修改路徑:

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)

參考:

https://blog.csdn.net/tt11212/article/details/87436128?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/qq_28837389/article/details/96999712?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章