参考项目

https://github.com/han1202012/Two_Progress_Alive

用了定时任务和双进程守护来保活。

双服务可能要难点,先看定时任务保活。

定时任务保活

继承JobService ,官方介绍

https://developer.android.com/reference/android/app/job/JobService?hl=en

是JobScheduler的回调函数,onStartJob就是job执行的回调入口。

配置定时任务并启动, 有意思是setPersisited(true)允许任务在设备重启启动。但是因为没有前台service所以出现崩溃。

判断LocalForegroundService、RemoteForegroundService的服务状态。

双服务保活

LocalForegroudService

启动服务时注册通知栏。

绑定到另一个服务。具体作用可以看看官方文档。

断开服务绑定时,重新其服务。

值得注意,当我们实现了onStartCommand 回调方法时,就只能显式停止服务,否则会一直运行。

当然这里是故意的。

RemoteForegroundService

代码几乎和LocalForegroudService 类似不重复分析。

分类: 安卓

pareto

未来什么方向不管,先做自己喜欢做的事情。

0 条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注