我想在用户禁用我的应用的设备管理员之前显示消息。来自谷歌教程页面,
http://developer.android.com/guide/topics/admin/device-admin.html
看来你所做的就是在接收器中实现onDisableRequested()。
@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
return context.getResources().getString(R.string.device_admin_disable_requested);
}
还有一个动作,android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED。文档说你必须听这个,但是这个例子没有在教程中显示,所以我不确定我应该在那里做什么,但在我的清单中,我有,
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
<action android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
</intent-filter>
无论如何,在实现该方法并监听动作的情况下,不会调用上述回调。有任何想法吗?感谢。
答案 0 :(得分:3)
回答我自己的问题......
当用户进入设置时,“禁用请求”消息出现在对话框中。安全&gt;设备管理员并从那里禁用设备管理员。
如果您从应用程序调用DevicePolicyManager.removeActiveAdmin(),则不会调用设备管理员接收器中的方法,并且不会向用户显示该消息。我想这个想法是,如果你从你的应用程序调用removeActiveAdmin(),你可以在允许用户这样做之前抛出你想要的任何警告。