所以这里的问题是:
我正在尝试创建一个设备管理应用程序,当用户尝试禁用该应用程序的管理功能时,系统会提示他输入密码,如果他未能输入正确的密码,该应用程序将保留管理员权限。
我见过一个名为 AppLock 的应用程序就是这样做的,而且效果很好!我已尝试按照此 SO question中的建议从 onDisableRequested() 方法锁定屏幕,但无论如何禁用管理应用程序。
我假设当用户尝试以管理员身份禁用应用程序时,AppLock 会使用密码活动锁定屏幕,但我不明白它如何阻止应用程序因密码错误而被禁用,因为该应用程序已经在启动密码活动时被禁用的过程。如果密码不正确,密码活动中是否存在暂停某些进程的挂钩?
我也对如何实现 AppLock 正在使用的自定义密码锁定屏幕感到困惑。如何使用自定义密码锁屏暂时更改锁屏类型,然后恢复为用户的原始锁屏类型?
这些是与我的问题类似的其他一些 SO 问题: