我制作了一个带有PIN码/屏幕锁的简单Android应用。用户必须写密码才能锁定手机,然后重复以解锁手机。问题是用户仍然可以回退,回家(等)退出应用程序而无需编写代码。我怎么能阻止这个?
答案 0 :(得分:4)
您可以通过覆盖dispatchKeyEvent()
课程中的Activity
来阻止后退按钮,如果event.getKeyCode()
等于KeyEvent.KEYCODE_BACK
则返回true。但是你无法阻止主页按钮进入主页。
我听说过你将应用程序注册为android.intent.category.HOME
意图的接收者的一些技巧。如果用户按下主页按钮,这将导致Android操作系统加载您的活动。如果你可以让它工作,你可以加载“实际”主屏幕,如果用户输入了正确的密码。但是,这种方法在不同设备和Android版本上的行为可能会有所不同,并且可能无法阻止Hold-Home任务列表出现。
最重要的是Android操作系统旨在防止您尝试做的事情:应用程序无法控制手机并阻止其他应用程序(尤其是手机)运行。
答案 1 :(得分:0)
我的理解是你无法阻止主页密钥,因为它是一个允许用户始终退出应用程序的安全功能。按home不会关闭活动。
答案 2 :(得分:0)
创建免费“Toddler lock”apk的人以某种方式设法做到了 - 下载并亲眼看看:)
当你运行它时,它要求获得作为家庭应用程序运行的权限,你需要选中“默认使用”框。要退出应用,您需要按屏幕的所有4个角。所有按钮,但电源1都被锁定。所以有一种方法可以做到这一点!
他向用户解释了它的工作原理: http://www.toddlerlock.com/3.html