检测从电话/设备管理员中删除的应用程序

时间:2017-08-29 18:41:11

标签: android broadcastreceiver device-admin

有些应用可以检测何时从电话/设备管理员中删除它们。我在Android开发者网站上进行过搜索,无法找到当用户点击该标记时触发的标记或接收者" tick"我们的电话/设备管理员应用程序旁边的复选框。

2 个答案:

答案 0 :(得分:0)

设备管理员在用户禁用时会收到操作ACTION_DEVICE_ADMIN_DISABLED,您可以在onDisabled(Context, Intent)中处理该操作。您仍然可以在onDisabled方法中使用DevicePolicyManager特权API,但在返回后不会。

答案 1 :(得分:0)

在广播接收器中,有一个从DeviceAdminReceiver类扩展的回调函数,如下所示。用户点击停用按钮后,此功能会在设备管理员停用应用之前调用onDisableRequested,用户点击停用后会调用onDisabled。 首先,我们必须在锁定设备后调用启动器(主屏幕)。 如果我们使用此逻辑,用户将无法停用。如果有任何更优化的方式可以随意分享/更新。

@Override
    public CharSequence onDisableRequested(Context context, Intent intent) { 
            Intent homeScreenIntent = new Intent(Intent.ACTION_MAIN);
            homeScreenIntent.addCategory(Intent.CATEGORY_HOME);
            homeScreenIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(homeScreenIntent);
            DevicePolicyManager deviceManger;
            deviceManger = (DevicePolicyManager) context.getSystemService(
                    Context.DEVICE_POLICY_SERVICE);
            deviceManger.lockNow();
         return context.getString("App won't work if you disable this setting");
    }