我正在开发具有多个Android用户支持的特权应用程序。每个用户都有自己的特权和限制。我将调用addUserRestriction
方法来禁止用户访问外部存储。我使用以下代码执行此操作:
ComponentName admin = getComponentName();
MethodUtils.invokeMethod(getApplicatioContext(), "addUserRestriction",new Object[]{admin, UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA} );
但获得例外:
java.lang.NoSuchMethodException: No such accessible method
答案 0 :(得分:1)
Context
不管使用哪种方法,都没有addUserRestriction
方法,这就是为什么您获得NoSuchMethodException
的原因。
您要通过调用获取DevicePolicyManager
实例
DevicePolicyManager dpm = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE)
在Context
实例上(可能是您的活动)。我认为您可以直接致电addUserRestriction
,而无需进行反思。