赞
踩
不同于以往的Android版本 可以直接在此处设置:
Android/frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
- private void grantDefaultSystemHandlerPermissions(PackageManagerWrapper pm, int userId) {
- Log.i(TAG, "Granting permissions to default platform handlers for user " + userId);
-
- ..........省略代码
-
-
-
-
- // Installer
- grantSystemFixedPermissionsToSystemPackage(pm,
- ArrayUtils.firstOrNull(getKnownPackages(
- PackageManagerInternal.PACKAGE_INSTALLER, userId)),
- userId, STORAGE_PERMISSIONS);
-
- // Verifier
- final String verifier = ArrayUtils.firstOrNull(getKnownPackages(
- PackageManagerInternal.PACKAGE_VERIFIER, userId));
- grantSystemFixedPermissionsToSystemPackage(pm, verifier, userId, STORAGE_PERMISSIONS);
- grantPermissionsToSystemPackage(pm, verifier, userId, PHONE_PERMISSIONS, SMS_PERMISSIONS);
-
- // SetupWizard
- grantPermissionsToSystemPackage(pm,
- ArrayUtils.firstOrNull(getKnownPackages(
- PackageManagerInternal.PACKAGE_SETUP_WIZARD, userId)), userId,
- PHONE_PERMISSIONS, CONTACTS_PERMISSIONS, ALWAYS_LOCATION_PERMISSIONS,
- CAMERA_PERMISSIONS);
-
- // Camera
- grantPermissionsToSystemPackage(pm,
- getDefaultSystemHandlerActivityPackage(pm, MediaStore.ACTION_IMAGE_CAPTURE, userId),
- userId, CAMERA_PERMISSIONS, MICROPHONE_PERMISSIONS, STORAGE_PERMISSIONS);
-
-
- // Sound recorder
- grantPermissionsToSystemPackage(pm,
- getDefaultSystemHandlerActivityPackage(pm,
- MediaStore.Audio.Media.RECORD_SOUND_ACTION, userId),
- userId, MICROPHONE_PERMISSIONS);
-
- // Media provider
- grantSystemFixedPermissionsToSystemPackage(pm,
- getDefaultProviderAuthorityPackage(MediaStore.AUTHORITY, userId), userId,
- STORAGE_PERMISSIONS);
-
- // Downloads provider
- grantSystemFixedPermissionsToSystemPackage(pm,
- getDefaultProviderAuthorityPackage("downloads", userId), userId,
- STORAGE_PERMISSIONS);
-
- // Downloads UI
- grantSystemFixedPermissionsToSystemPackage(pm,
- getDefaultSystemHandlerActivityPackage(pm,
- DownloadManager.ACTION_VIEW_DOWNLOADS, userId),
- userId, STORAGE_PERMISSIONS);
-
- // Storage provider
- grantSystemFixedPermissionsToSystemPackage(pm,
- getDefaultProviderAuthorityPackage("com.android.externalstorage.documents", userId),
- userId, STORAGE_PERMISSIONS);
-
- // CertInstaller
- grantSystemFixedPermissionsToSystemPackage(pm,
- getDefaultSystemHandlerActivityPackage(pm, Credentials.INSTALL_ACTION, userId),
- userId, STORAGE_PERMISSIONS);
授予权限类型参考下表:
比如 为DemoAPK添加定位&通话以及访问内存权限.
- // DemoAPK
- grantPermissionsToSystemPackage(pm, "com.test.demoApk",
- userId, PHONE_PERMISSIONS, ALWAYS_LOCATION_PERMISSIONS, STORAGE_PERMISSIONS);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。