Android|Android 设备管理器 阻止用户取消激活
该方案测试可行,系统版本4.4.2。它算是借助android系统的一个bug,不确定在后续更高的版本中是否修复。
该功能和360防卸载功能一样的实现原理。
主要的参考资料是:http://bbs.pediy.com/showthread.php?t=193123
public class MantaAdminReceiver extends DeviceAdminReceiver {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
}@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
return "some message";
}
当用户在设置APP中取消激活某个app的时候,会弹出一个确认框。
弹出确认框的时候,会调用上面代码中的onDisableRequested()方法,在这一步方法中,我们放入自己的代码,阻止弹出框的后续操作,已满足阻止用户取消激活的操作
通过Activity切换的方式使设备管理器弹出的警示信息Dialog消失。使用户无法操作Dialog。【Android|Android 设备管理器 阻止用户取消激活】三个方案:
在onDisableRequested中,采用不同方式使用户在5秒时间内无法操作界面。因为5秒后Activity切换请求才会被系统执行。
1.调用锁屏
2.阻塞
3.悬浮框windowmanager.addView()
转载于:https://www.cnblogs.com/zhou-guobao/p/4786386.html
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)
- Android|Android install 多个设备时指定设备