如何调用DevicePolicyManager方法?

时间:2019-01-09 14:20:45

标签: android

我正在开发具有多个Android用户支持的特权应用程序。每个用户都有自己的特权和限制。我将调用addUserRestriction方法来禁止用户访问外部存储。我使用以下代码执行此操作:

 ComponentName admin = getComponentName();
 MethodUtils.invokeMethod(getApplicatioContext(), "addUserRestriction",new Object[]{admin, UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA} );

但获得例外:

java.lang.NoSuchMethodException: No such accessible method

1 个答案:

答案 0 :(得分:1)

Context不管使用哪种方法,都没有addUserRestriction方法,这就是为什么您获得NoSuchMethodException的原因。

您要通过调用获取DevicePolicyManager实例

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

Context实例上(可能是您的活动)。我认为您可以直接致电addUserRestriction,而无需进行反思。