android设备管理员:关于禁用请求的通知?

时间:2012-02-03 18:21:33

标签: android

我想在用户禁用我的应用的设备管理员之前显示消息。来自谷歌教程页面,

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>

无论如何,在实现该方法并监听动作的情况下,不会调用上述回调。有任何想法吗?感谢。

1 个答案:

答案 0 :(得分:3)

回答我自己的问题......

当用户进入设置时,

“禁用请求”消息出现在对话框中。安全&gt;设备管理员并从那里禁用设备管理员。

如果您从应用程序调用DevicePolicyManager.removeActiveAdmin(),则不会调用设备管理员接收器中的方法,并且不会向用户显示该消息。我想这个想法是,如果你从你的应用程序调用removeActiveAdmin(),你可以在允许用户这样做之前抛出你想要的任何警告。