当前Android进程保活手段主要分为 黑、白、灰 三种,其大致的实现思路如下:
-
黑色保活:不同的app进程,用广播相互唤醒(包括利用系统提供的广播进行唤醒)(双进程守护)
-
白色保活:启动前台Service(startForeground)
-
灰色保活:利用系统的漏洞启动前台Service
- http://blog.csdn.net/andrexpert/article/details/75174586
使用JobScheduler
JobScheduler是谷歌在Android 5.0引入的一个能够执行某项任务的API,它允许APP在将来达到一定条件时执行指定的任务。通常情况下,即使APP被强制停止,预定的任务仍然会被执行。JobScheduler工作原理:
首先在一个实现了JobService的子类的onStartJob方法中执行这项任务,使用JobInfo的Builder方法来设定条件并和实现了JobService的子类的组件名绑定,然后调用系统服务JobScheduler的schedule方法。这样,即便在执行任务之前应用程序进程被杀,也不会导致任务不会执行,因为系统服务JobScheduler会使用bindServiceAsUser的方法把实现了JobService的子类服务启动起来,并