在播放器app中由于需要用后台service 来播放音乐,所以一旦进入休眠状态时,就有可能被杀掉进程
所以需要让service 一直运行不被杀掉进程
在android 中WakeLock的相关 API可以确保应用程序中后台任务一直运行,使应用程序有能力控制APP的休眠状态。
WakeLock锁机制
当应用申请了WakeLock权限调用相关api后,WakeLock会阻止APP挂起,系统无法进入休眠,即使在灭屏的状态下,应用要执行的任务依然不会被打断。当所有WakeLock被释放(解锁/超时),系统会挂起启动休眠机制进入休眠。
首选申请权限:
<!--WakeLock需要的权限-->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
WakeLock的分类和Flag
1.分类
PARTIAL_WAKE_LOCK: 灭屏,关闭键盘背光的情况下,CPU依然保持运行。
PROXIMITY_SCREEN_OFF_WAKE_LOCK: 基于距离感应器熄灭屏幕。最典型的运用场景是我们贴近耳朵打电话时