Android锁屏实现与总结

Android锁屏实现与总结(网易云阅读)

一、自定义锁屏基本原理

二、重要步骤

1、广播注册

2、Activity设置

3、按键的屏蔽

4、滑屏解锁

5、Event bus的使用

三、出现的问题

1、小米和魅族等手机锁屏权限问题

2、透明栏与沉浸模式

3、手机适配

4、处理黑色闪屏

5、线控耳机

6、Android上的「安全音量」

一、自定义锁屏基本原理

先上效果图:

7396903-8f6f8a9da30792d6.png

实现锁屏的方式有多种(锁屏应用、悬浮窗、普通Activity伪造锁屏等等)。通过网络查找资料与反编译云音乐apk,本项目使用了国内比较主流并且被广泛应用的Activity伪造锁屏方式。

Activity实现自定义锁屏页的思路很简单,即在听书模式开启时,启动一个service,在service中监听系统SCREEN_OFF的广播。当屏幕熄灭时service监听到广播,开启一个锁屏页Activity在屏幕最上层显示,该Activity创建的同时会去掉系统的锁屏(如果有密码是禁不掉的)。示意图如下:


7396903-dc1332ac9cae23a5.png

二、重要步骤

1、广播注册

LockScreenService是普通的Service,在应用启动听书模式时候startService(ReadBookActivity),与应用同一个进程。


7396903-bb47a79778e05bcb.png
7396903-628617037f1b2e71.png

此外,SCREEN_OFF广播监听必须是动态注册的,如果在AndroidManifest.xml中静态注册将无法接收到SCREEN_OFF广播。


7396903-79640e8b18da49b5.png

标志位FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS,是为了避免在最近使用程序列表出现Service所启动的Activity。


7396903-1b0568e9a7301a4a.png
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值