ServiceKeep

Introduction: Android Service 保活模块(5.0 以下使用 c 来 fork 进程,5.0 以上使用 KeepPushAliveJobSchedulerService 来保活进程)
More: Author   ReportBugs   
Tags:

Android Service 保活模块(5.0 以下使用 c 来 fork 进程,5.0 以上使用 JobScheduler 来保活进程)

具体调用:

1、在 WorkService 的 onStartCommand 中执行要保活的操作业务。
2、在初始化过程中调用 KeepAliveManager.INSTANCE.startKeepAliveService(context);
3、停止服务调用 KeepAliveManager.INSTANCE.stopKeepAliveSerice(context);
4、配置 AndroidManifest.xml,增加如下配置:
<!--增加唤醒 WorkService 的定时任务-->
<service
  android:name="jack.com.servicekeep.service.KeepAliveJobSchedulerService"
  android:persistent="true"
  android:exported="false"
  android:permission="android.permission.BIND_JOB_SERVICE"
  android:process="jack.com.servicekeep.job_scheduler_service"/>

<!--todo 自己业务保活的 Service,重写 WorkService 中的 onStartCommand 其中执行自己的业务逻辑-->
<service
  android:name="jack.com.servicekeep.service.WorkService"
  android:exported="true"
  android:persistent="true"
  android:label="Jack"
  android:process="com.jack.workservice">
</service>

<!--开机启动监听-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

开发常见异常:

1、由于小米系统的深度定制,使用方需要: 设置---自启动管理---选择应用(如 jack.com.servicekeep)---打开自启动即可。
2、直接杀死什么进程,保活的是 WorkService,不是 demo。把 demo 干死了是不可以的,Android 的底层机制。

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools