android 5.0 进程保活,Android 进程保活(五)JobSheduler进程重生

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

JobSheduler在android 5.0以上版本可用,所以该方案适合5.0以上的系统版本。

关于JobService与JobSheduler不清楚的可参考官网API文档:

JobScheduler是用于计划基于应用进程的多种类型任务的api接口。当任务执行时,系统会为应用持有WakeLock,所以应用不需要做多余的确保设备唤醒的工作。

JobService继承自Service,是用于处理JobScheduler中规划的异步请求的特殊Service

使用JobService必须先在AndroidManifest.xml中声明service和权限1

我们来实现一个JobService,代码如下:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44package com.baweigame.mvvmdemoapplication;

import android.app.job.JobInfo;

import android.app.job.JobParameters;

import android.app.job.JobScheduler;

import android.app.job.JobService;

import android.content.ComponentName;

import android.content.Context;

import android.os.Build;

import android.support.annotation.RequiresApi;

import android.util.Log;

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

public class MyJobService extends JobService{

@Override

public void onCreate(){

super.onCreate();

startJob();

}

*/

private void startJob(){

JobInfo.Builder builder = new JobInfo.Builder(1001, new ComponentName(getPackageName(), MyJobService.class.getName()));

//500毫秒调用一次

builder.setPeriodic(500);

builder.setPersisted(true);

JobScheduler jobScheduler = (JobScheduler) this.getSystemService(Context.JOB_SCHEDULER_SERVICE);

jobScheduler.schedule(builder.build());

}

@Override

public boolean onStartJob(JobParameters params){

Log.d("123", "onStartJob: ...");

return false;

}

@Override

public boolean onStopJob(JobParameters params){

Log.d("123", "onStopJob: ...");

return false;

}

}

在Activity启动服务,如:1startService(new Intent(this,MyJobService.class));

我们添加了一个JobService并在服务启动及停止时加入了日志输出。

使用JobScheduler来调度服务,每500毫秒调用一次。

我们启动App来观察服务启动log的打印情况,启动后每500毫秒打印一次。我们手动关闭所有进程,发现服务停止后有复活了,正常输出了log信息。

注意:清单文档中加入相关权限。如:1

Android 进程保活系列:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值