android默认给予系统apk权限样例

Index: frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
===================================================================
--- frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java	(版本 355)
+++ frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java	(版本 360)
@@ -175,6 +175,13 @@
         STORAGE_PERMISSIONS.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
     }
 
+    // @ + for BUG # {
+    private static final Set<String> ALARM_PERMISSIONS = new ArraySet<>();
+    static {
+        ALARM_PERMISSIONS.add("org.codeaurora.permission.POWER_OFF_ALARM");
+    }
+    // @ + for BUG # }
+
     private static final int MSG_READ_DEFAULT_PERMISSION_EXCEPTIONS = 1;
 
     private static final String ACTION_TRACK = "com.android.fitness.TRACK";
@@ -723,6 +730,7 @@
                 musicIntent, userId);
         if (musicPackage != null
                 && doesPackageSupportRuntimePermissions(musicPackage)) {
+            grantRuntimePermissions(musicPackage, PHONE_PERMISSIONS, userId); // @ + for BUG #
             grantRuntimePermissions(musicPackage, STORAGE_PERMISSIONS, userId);
         }
 
@@ -841,6 +849,27 @@
             }
         }
 
+        // @ + for BUG # {
+        // CMFileManager
+        PackageParser.Package filemanagerPackage = getSystemPackage("com.cyanogenmod.filemanager");
+        if (filemanagerPackage != null) {
+            grantRuntimePermissions(filemanagerPackage, STORAGE_PERMISSIONS, userId);
+        }
+
+        // DeskClock
+        PackageParser.Package deskclockPackage = getSystemPackage("com.android.deskclock");
+        if (deskclockPackage != null) {
+            grantRuntimePermissions(deskclockPackage, ALARM_PERMISSIONS, userId);
+        }
+
+        // ofg
+        PackageParser.Package volum4ofgPackage = getSystemPackage("com.imi.volum4ofg");
+        if (volum4ofgPackage != null) {
+            grantRuntimePermissions(volum4ofgPackage, CAMERA_PERMISSIONS, userId);
+            grantRuntimePermissions(volum4ofgPackage, STORAGE_PERMISSIONS, userId);
+        }
+        // @ + for BUG # }
+
         // There is no real "marker" interface to identify the shared storage backup, it is
         // hardcoded in BackupManagerService.SHARED_BACKUP_AGENT_PACKAGE.
         PackageParser.Package sharedStorageBackupPackage = getSystemPackage(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值