android 安装第三方apk自动赋予运行时权限

摘要:行业机使用场景点击运行时权限很麻烦,而随着android的演进,对于权限的管控越发严格。故本文通过对系统的修改实现第三方app在运行时直接获取全部权限。

通过属性ro.perms.force_grant控制功能开关。

java 复制代码
Index: frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java
===================================================================
--- frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java	(版本 4724)
+++ frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java	(版本 4725)
@@ -25,6 +25,7 @@
 import android.content.pm.PermissionInfo;
 import com.android.server.pm.pkg.component.ParsedPermission;
 import android.os.Build;
+import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.util.Log;
 import android.util.Slog;
@@ -206,10 +207,16 @@
     }
 
     public boolean isNormal() {
+        if (SystemProperties.getBoolean("ro.perms.force_grant", false)) { // @ +
+            return true;
+        }
         return (mPermissionInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE)
                 == PermissionInfo.PROTECTION_NORMAL;
     }
     public boolean isRuntime() {
+        if (SystemProperties.getBoolean("ro.perms.force_grant", false)) { // @ +
+            return false;
+        }
         return (mPermissionInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE)
                 == PermissionInfo.PROTECTION_DANGEROUS;
     }
相关推荐
八月林城1 小时前
echarts在uniapp中使用安卓真机运行时无法显示的问题
android·uni-app·echarts
雨白1 小时前
搞懂 Fragment 的生命周期
android
casual_clover1 小时前
Android 之 kotlin语言学习笔记三(Kotlin-Java 互操作)
android·java·kotlin
梓仁沐白1 小时前
【Kotlin】数字&字符串&数组&集合
android·开发语言·kotlin
技术小甜甜1 小时前
【Godot】如何导出 Release 版本的安卓项目
android·游戏引擎·godot
火柴就是我2 小时前
Dart 原始字符串(Raw Strings)详解文档
android
玲小珑2 小时前
Auto.js 入门指南(五)实战项目——自动脚本
android·前端
玲小珑2 小时前
Auto.js 入门指南(四)Auto.js 基础概念
android·前端
没有了遇见3 小时前
DrawerLayout 滑动冲突
android
玲小珑4 小时前
Auto.js 入门指南(六)多线程与异步操作
android·前端