3.1 提高进程优先级
3.1.1 利用Activity
1像素Activy
,监控手机解锁屏事件,解锁时将Activity销毁,锁屏时启动,并且要无感知,在RecentTask里移除
3.1.2 前台服务+Notification
Service 通过 startForegroundService
启动 ,低版本时可以通过特殊方式对 Notification 进行隐藏,高版本无法规避,此方案为通过需求正向解决
3.1.3 引导用户打开电池管理,允许应用后台运行
目前市面上的手机,或多或少都有对进程管理有优化,可能会有允许应用后台允许的功能,但是每款手机的入口均不相同,而且相同厂商的不同版本也会不同
具体做法,找到手机的电池管理或者系统的后台管理,针对不同的手机做文字书面的提醒,提醒用户开启此功能,暴力一点可以想办法拿到此Activity的具体类名 包名等信息,进行反射调用。
此方案一般应用不要使用,工作量巨大,而且仅仅针对提醒类应用使用,比如吃药提醒,起床闹钟,这些对保活要求非常高的应用才适合
3.2 进程死后拉活
3.2.1 监听系统静态广播
低版本时,静态广播可以唤醒应用进程,所以监听系统广播,例如开机,锁屏,解锁等可以做到,但是高版本不