2011-02-06 63 views
2

如何在应用程序启动之前创建一个作为启动画面的活动,并等待特定时间(如3秒钟),其中用户必须绘制解锁模式才能进入应用?使用锁定模式锁定应用程序

如果用户无法绘制正确的图案,应用程序应打开一个简单的Web浏览器或其他不属于该应用程序部分的活动。

此外,在输入正确的锁定模式之后,用户如何更改锁定模式以便下次使用该应用程序时可以使用新模式?

+0

[查看该库(http://androidcustomviews.com/portfolio/android-lock-pattern/) – 2013-08-08 09:22:43

回答

3

首先设计一个显示启动画面的活动。然后用简单的超时逻辑扩展它,打开Web浏览器并调用finish()(退出启动画面活动)。然后扩展活动(或者显示飞溅图像的视图)以捕获用户输入并将其与预定义模式进行比较。 (我怀疑这是你问题的核心,你必须重写onTouchEvent;捕获ACTION_DOWN,ACTION_MOVE和ACTION_UP事件的坐标;并将该运动与预定义的模式进行比较。)如果识别出正确的模式,取消定时器并开始新的活动(使用Intent)并解锁活动。

要允许用户更改锁定模式,您需要将预定义模式移动到应用程序的共享首选项或其他可修改位置(如数据库或文件)。然后定义一个活动,提示用户使用任何你喜欢的方法来定义模式(比如绘制新模式并使用上述相同的技术捕捉它)并覆盖存储的模式。最后,重写原始启动画面活动以使用存储的模式而不是预定义的模式(并且,如果未找到存储的模式,则使用预定义的模式对其进行初始化)。

注意,这两个活动—解锁应用程序,并定义解锁图案—是分开的在您的应用程序任何其他(可能除了一个按钮或菜单,让用户得到的模式定义活动)。