【发布时间】:2014-07-22 19:15:55
【问题描述】:
所以问题来了:
我正在尝试创建一个设备管理应用程序,当用户尝试禁用该应用程序的管理功能时,系统会提示他输入密码,如果他未能输入正确的密码,该应用程序将保留管理员权限。
我看到一个名为 AppLock 的应用程序就是这样做的,而且效果很好!我已经按照this SO question 中的建议尝试通过 onDisableRequested() 方法锁定屏幕,但管理应用程序无论如何都被禁用了。
我假设当用户尝试以管理员身份禁用应用程序时,AppLock 会通过密码活动锁定屏幕,但我不明白它如何阻止应用程序因密码错误而被禁用,因为该应用程序是启动密码活动时已处于禁用过程中。如果密码不正确,密码活动中是否有一个挂钩可以停止某些进程?
我也对如何实现 AppLock 使用的自定义密码锁定屏幕感到困惑。如何使用自定义密码锁屏暂时更改锁屏类型,然后恢复为用户原来的锁屏类型?
这些是与我的问题类似的其他一些 SO 问题:
【问题讨论】:
-
嗨,你有没有找到任何方法来解决这个问题..
-
是的,我想出了一些技巧来使这项工作大部分工作,尽管仍有一些错误需要解决。最重要的部分是不要使用“onDisableRequested()”方法作为密码活动的触发器,而是需要一个后台服务来查看顶部活动,并在适当的时候激活密码活动。
-
你能分享示例源代码来实现吗?
标签: android passwords password-protection device-admin screen-lock