赞
踩
Android锁屏实现与总结(网易云阅读)
一、自定义锁屏基本原理
二、重要步骤
1、广播注册
2、Activity设置
3、按键的屏蔽
4、滑屏解锁
5、Event bus的使用
三、出现的问题
1、小米和魅族等手机锁屏权限问题
2、透明栏与沉浸模式
3、手机适配
4、处理黑色闪屏
5、线控耳机
6、Android上的「安全音量」
一、自定义锁屏基本原理
先上效果图:
实现锁屏的方式有多种(锁屏应用、悬浮窗、普通Activity伪造锁屏等等)。通过网络查找资料与反编译云音乐apk,本项目使用了国内比较主流并且被广泛应用的Activity伪造锁屏方式。
Activity实现自定义锁屏页的思路很简单,即在听书模式开启时,启动一个service,在service中监听系统SCREEN_OFF的广播。当屏幕熄灭时service监听到广播,开启一个锁屏页Activity在屏幕最上层显示,该Activity创建的同时会去掉系统的锁屏(如果有密码是禁不掉的)。示意图如下:
二、重要步骤
1、广播注册
LockScreenService是普通的Service,在应用启动听书模式时候startService(ReadBookActivity),与应用同一个进程。
此外,SCREEN_OFF广播监听必须是动态注册的,如果在AndroidManifest.xml中静态注册将无法接收到SCREEN_OFF广播。
标志位FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS,是为了避免在最近使用程序列表出现Service所启动的Activity。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。