以下是问题:
我正在尝试创建一个设备管理员应用程序,当用户尝试禁用应用程序的管理员功能时,会提示输入密码,如果用户未能输入正确的密码,则应用程序将保留管理员权限。
我见过一个叫做AppLock的应用程序就是这样做的,而且它很好用!我已经尝试从onDisableRequested()方法锁定屏幕,如这个SO问题建议的那样,但管理员应用程序仍然被禁用。
我假设当用户尝试禁用应用程序作为管理员时,AppLock使用密码活动锁定屏幕,但我不明白它如何阻止应用程序在密码错误时被禁用,因为当启动密码活动时,应用程序已经在被禁用的过程中了。是否有钩子可以在密码不正确时停止某些进程?
我还困惑于如何实现AppLock所使用的自定义密码锁屏。我如何暂时更改锁屏类型以使用自定义密码锁屏,然后恢复到用户的原始锁屏类型?
以下是一些类似于我的问题的SO问题: