为了安全——应用锁屏开发实战
来源:互联网 发布:单片机测量交流电压 编辑:程序博客网 时间:2024/05/22 02:24
今天我们来谈一个问题:应用锁屏。
说老实话,这种设定目前已经被广泛使用了,多见于支付宝、京东金融、QQ等对安全性和隐私性要求较高的程序使用。
关于该功能的实现,有不止一条解决办法。这里就不一一列举了,只对其中一种做详细解释和示例程序的代码分享。
这里我声明一下,好像自从写博客到现在,我一直都在用Android Studio为IDE来开发,强烈建议还在使用Eclipse的小伙伴尽快使用它。尽管一上来可能有些许不便,但是上手之后效率会有所提高,不信就去试试!
本文介绍的方法解决思路如下:
- 监听屏幕变化,即关闭和打开屏幕;
- 设置需要出现锁屏的标志变量,默认值为false。当接收到屏幕被关闭的广播后,将其置为true。
- 在Activity生命周期onResume中,检测上述变量值,若为true,则启动安全校验机制,反之无操作。
Demo代码中包含的锁屏机制提供了多种选项,可自由组合实现不同的应用解锁效果。
步骤1 设置监听器
首先我们写一个类,集成BroadcastReceiver,用来接收系统Screen off的Action。这里我才用了Java代码中动态注册监听器的方法,而非xml配置文件,因为这样可以更方便的让我们对监听使能进行控制。由于监听器需要在代码中进行实例化,因此我们可以在监听器相关类中定义布尔变量,来标识是否有了关闭屏幕的操作。代码片段如下所示:
public class LockScreenReceiver extends BroadcastReceiver { private boolean isNeedCheck; @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { //关闭屏幕 isNeedCheck = true; } } public void unRegist() { isNeedCheck = false; } public boolean isNeedCheck() { return isNeedCheck; }}
步骤2 动态注册监听器
这一步骤要求我们对监听器进行动态注册,所谓动态注册就是绑定到指定的控件上,由用户自由选择,进行注册和取消注册。
具体代码见Demo。下面放上Github地址:
https://github.com/XiaoWenHan/Demo_SafeScreen
1 0
- 为了安全——应用锁屏开发实战
- 为了安全~
- 快速开发平台——web应用的整体安全
- 手机开发实战34——SIM卡应用1
- 手机开发实战35——SIM卡应用2
- 手机开发实战36——SIM卡应用3
- iOS项目开发实战(Swift)—查询天气小应用
- Php开发应用安全
- 《Python高效开发实战》实战演练——建立应用2
- iPad应用开发实战
- iPad应用开发实战
- 实战Android应用开发
- Hadoop应用开发实战
- Oracle应用开发实战
- Oracle安全实战——开发完全的数据库与中间件环境
- 手机开发实战37——SIM卡安全缺陷分析
- android应用安全——数据安全
- android应用安全——数据安全
- 档案袋= =
- spring @component的作用
- 使用R和Python计算AUC
- 浅析Java中的final关键字
- php图像处理中的等比例缩放
- 为了安全——应用锁屏开发实战
- 欢迎使用CSDN-markdown编辑器
- priority_queue用法
- android:name 的秘密
- Linux下php安装Redis扩展
- war3 1.27完成
- 各种获取路径
- iOS开发之旅--React native使用IDE推荐webstorm
- 基础篇(十三) Activity,Service,子线程 通信