我已经测试过 Android 13 设备,发现其中一些设备使用了“受限制的设置”,而其他设备则没有。我想编写程序来检查当前设备是否具有该功能。是否有相应的 API 可以使用?
我已经测试过 Android 13 设备,发现其中一些设备使用了“受限制的设置”,而其他设备则没有。我想编写程序来检查当前设备是否具有该功能。是否有相应的 API 可以使用?
public static boolean hasAccessRestrictedPerm(Context context) {
try {
PackageManager packageManager = context.getPackageManager();
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(context.getPackageName(), 0);
AppOpsManager appOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
int mode = appOpsManager.checkOpNoThrow("android:access_restricted_settings", applicationInfo.uid, applicationInfo.packageName);
return (mode == AppOpsManager.MODE_ALLOWED);
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}