可能是重复问题:
以编程方式锁定Android设备
我制作了一个简单的Android应用程序,带有PIN码/屏幕锁定功能。用户需要输入密码来锁定手机,然后再次输入密码才能解锁手机。问题是,用户仍然可以按返回、主页(等)键退出应用程序而不需要输入密码。我该如何防止这种情况发生?
可能是重复问题:
以编程方式锁定Android设备
我制作了一个简单的Android应用程序,带有PIN码/屏幕锁定功能。用户需要输入密码来锁定手机,然后再次输入密码才能解锁手机。问题是,用户仍然可以按返回、主页(等)键退出应用程序而不需要输入密码。我该如何防止这种情况发生?
Activity
类中覆盖dispatchKeyEvent()
方法并返回true,如果event.getKeyCode()
等于KeyEvent.KEYCODE_BACK
,来阻止后退按钮。但您不能阻止Home按钮返回主页。android.intent.category.HOME
意图的接收器。如果用户按下Home按钮,则会导致Android OS加载您的活动。如果您能使其正常工作,那么如果用户输入了正确的密码,您就可以加载“实际”的主屏幕。然而,这种方法在不同设备和Android版本上可能会表现不同,并且它可能无法阻止Hold-Home任务列表的出现。那些创建了免费的“幼儿锁”apk的家伙们不知怎么做到了 - 下载并自行查看 :)
运行时,它会要求获得作为主屏幕应用程序的权限,并且您需要勾选“用作默认值”的框。要退出应用程序,您需要按下屏幕的所有4个角落。除电源按钮外,所有按钮都被锁定。所以肯定有一种方法可以做到这一点!
他在这里向用户解释了它的工作原理: http://www.toddlerlock.com/3.html