本文基于Android 5.1系统。 不废话,直接贴代码!
diff --git a/frameworks/base/services/core/java/com/android/server/AppOpsService.java b/frameworks/base/services/core/java/com/android/server/AppOpsService.java index 5675539177..ecb469c78c 100644 --- a/frameworks/base/services/core/java/com/android/server/AppOpsService.java +++ b/frameworks/base/services/core/java/com/android/server/AppOpsService.java @@ -27,6 +27,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -1435,6 +1436,10 @@ public class AppOpsService extends IAppOpsService.Stub { } private int getDefaultMode(int code, int uid, String packageName) { + String[] whiteList = {"com.test.testa", "com.test.testb"}; + if (Arrays.asList(whiteList).contains(packageName)) { + return AppOpsManager.MODE_ALLOWED; + } int mode = AppOpsManager.opToDefaultMode(code, isStrict(code, uid, packageName)); if (AppOpsManager.isStrictOp(code) && mPolicy != null) {