繁体   English   中英

如何禁止用户更改设备所有者应用程序的权限?

[英]How to disallow user from changing permissions on a device owner app?

注意:默认情况下无法卸载该应用程序,因为它是具有设备管理员权限的设备所有者应用程序,并且默认情况下授予所有权限。 但是用户可以禁用这些权限。 无论如何,是否通过禁用权限更改切换按钮来禁止用户执行此操作? 我已经看到在基于三星KNOX的EMM应用程序中禁用了此功能。

这为我解决了:

targetSdkVersion必须为23或更高才能起作用。

DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);

ComponentName mDeviceAdmin = new ComponentName(this, AdminReceiver.class);

    try {
                String[] permissions = context.getPackageManager().getPackageInfo(context.getPackageName(),PackageManager.GET_PERMISSIONS).requestedPermissions;
                for (String permission : permissions) {
                    boolean success = dpm.setPermissionGrantState(mDeviceAdmin,
                            getPackageName(), permission, PERMISSION_GRANT_STATE_GRANTED);
                    if (!success) {
                        Log.e(TAG, "Failed to auto grant permission to self: " + permission);
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

PERMISSION_GRANT_STATE_GRANTED:该权限已授予该应用,并且用户无法通过UI管理该权限。

PERMISSION_GRANT_STATE_DENIED:拒绝该应用的权限,并且用户无法通过UI管理该权限。

PERMISSION_GRANT_STATE_DEFAULT:用户可以通过UI管理权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM