检测正在从手机/设备管理员中删除的应用程序



有些应用程序可以检测何时从手机/设备管理员中删除。我在安卓开发者网站上搜索过,没有找到当用户在手机/设备管理员中点击我们应用程序旁边的"勾选"复选框时触发的标志或接收器。

在广播接收器中,有一个从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");
}

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

相关内容

  • 没有找到相关文章

最新更新