android锁屏原理(一)

最近忙着跳槽,跑来移动后的第一个项目就是做android定制的锁屏模块。目前已经差不多了,就缺UI工程师的图片了。在这里给大家讲讲我做的这个。先画张图吧

 

不知道大家看了这图恶心不,反正我恶心了,呵呵。还是回正题吧

首先从左边看吧,由上而下。1,第一个ScreenReceiver是作为锁屏的入口。接收系统开机和屏幕关闭开启广播,根据设置中保存是否可以锁屏来启动锁屏服务。

2,ScreenService作为锁屏程序中的核心类,启动后注册接收屏幕开/关广播,分别处理对应的任务。其次是对手机状态的监听,就是那个电话的三状态,空闲、响铃、挂起(接听),分别处理。处理闹钟什么的,都一样。呵呵,不在阐述。最后是处理一些锁屏的初始化数据。

3,ScreenActiviy,这个类命名有点2,估计会误导他人。作用很简单,被锁屏服务调用后启动,然后在这个Activity中处理要显示哪个主题的锁屏,就是调用哪个LockScreenActivity。相当于一个控制器(Controller)吧。

4,LockScreenActivity,就是我们手机在锁屏后看到的那个界面。这里的话就要看你怎么处理啦。就是要处理一些解锁动作啊,时间啊,日期啊,电量什么的。这个类代码比较多。后边我会贴上。上个图体现啊,别笑话,目前没图片,随便上网了拔下一些。

很烂吧,哈哈

5,LockTamplateActivity,这个类是是LockScreenActivity的基类(模板类)。没啥,就一些唧唧哇哇的东西,不过还提供了一些给子类的公共方法。还有就是负责屏蔽Home键,回退键,搜索键,菜单,还有状态栏。

6,LockConstants,看名字就知道干嘛了,一个常量类嘛,一些数据的存放,初始化什么的。保存方式是用SharedPreferences。

7,LockSettingActivity嘛,就是设置一些锁屏的功能的,保存还是SharedPreferences。

基本思路:毫无疑问,每次需要显示LockScreen---锁屏界面时,我们并不真正的去锁屏,而只是提供了一个空的方法去给系统调用,让系统觉得我们“锁屏”了,同样也不去真正的隐藏“锁屏”界面,提供一个空壳给系统调用。由于可能涉及 到其它问题,例如:能否下拉状态栏,按下POWER键后,屏幕很快休眠等。Come on ,我们需要统一做处理。------引用一前辈的话

好了,下一篇我会讲讲每个木块的实现。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值