Android应用 手势密码的实现(四)

本文基于Hongyang大神的博客:http://blog.csdn.net/lmj623565791/article/details/36236113

转载请注明来源:http://blog.csdn.net/u013258802/article/details/53079019


界面和样式的调整参考前三篇,本文目的是简单介绍下手势密码的具体应用。


每个APP的设计都不同,支付宝是在主页的“我的”tab页显示的时候唤起手势密码,QQ是任何页面从后台进入显示时都会唤起,还有些APP是退到后台一定时间之内(例如两分钟)不唤起手势,第一种很好做就不说了,这篇文章讲后两种设计。


要实现全APP内手势密码验证,主要考虑两种情况:

1、刚打开APP或者从后台切入或者息屏,需要手势密码验证;

2、APP内界面跳转过程,不需要手势密码验证。


Activity的生命周期就不提了,上述两种情况都会走到onResume()方法并检测是否开启了手势密码验证,关键在于该过程是否是APP内部的页面切换过程,是的话onResume()中就需要跳过手势检查,理清了思路,问题就好解决了。

略过闲杂方法,Activity A 到 B 的切换过程如下:

A:onPause();

B:onResume();

A:onStop()。

可见关键点就在这三个方法中,我们从带时间的手势唤起方案说起。


一、APP退到后台超过一定时间(暂定60秒)后唤起手势:

需要一个全局变量 lockTime 贯穿整个APP使用过程,该变量在启动APP时初始化为0,退出APP时置0;

在 BaseActivity 的 onResume() 方法中取当前时间 sysTime - lockTime,获得差值 durTime;

刚打开APP时 durTime 必定大于 60*1000ms,一定会显示手势密码;

在 onPause() 方法中保存当前系统时间 lockTime = sysTime;

下一次调用 onResume() 时会再次判断间隔时间 durTime,页面跳转时间必定小于 60s,不显示手势密码。


根据以上设计我们可以大致确定要做的事和需要的类:

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值