当前位置:   article > 正文

Android锁屏实现与总结_android开发 锁屏保持网络连接

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
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/889023
推荐阅读
相关标签
  

闽ICP备14008679号