android - 即使在设置 setMinimumLatency 和 setOverrideDeadline 之后,计划的作业也不能正确重复
问题描述
我已经安排了一个每 10 秒重复一次的工作。我已经尝试使用带有 setMinimumLatency 和 setOverrideDeadline 的作业调度程序,但我的工作没有重复。我遵循了不同的教程和博客,完成了那里显示的所有内容,但效果不佳。
我的代码如下:
显现:
<service android:name=".JobServiceClass"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="true"
>
</service>
JobServiceUtils:
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public static void scheduleJob(Context context)
{
ComponentName componentName=new ComponentName(context,JobServiceClass.class);
JobInfo.Builder jobInfo=new JobInfo.Builder(1000,componentName);
jobInfo.setPersisted(true);
jobInfo.setMinimumLatency(10000);
jobInfo.setOverrideDeadline(10000);
JobScheduler jobScheduler=(JobScheduler)context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
if (jobScheduler!=null){
jobScheduler.schedule(jobInfo.build());
}
}
工作服务类:
@Override
public boolean onStartJob(JobParameters params) {
Toast.makeText(getApplicationContext(),"Job service thread",Toast.LENGTH_LONG).show();
asynctaskClass=new AsynctaskClass(getApplicationContext(), new AsynctaskResult() {
@Override
public void asyncTaskResult(String result) {
}
});
return true;
}
@Override
public boolean onStopJob(JobParameters params) {
Toast.makeText(getApplicationContext(),"Job service thread stop",Toast.LENGTH_LONG).show();
return true;
}
从活动初始化:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobServiceUtils.scheduleJob(MainActivity.this);
}else {
Intent intent1 = new Intent(this, ServiceClass.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startService(intent1);
}
谁能告诉我我在这里缺少什么
解决方案
推荐阅读
- python-3.x - kafka-python:在 kafka 生产者中指定分区时出错
- prolog - 有什么作用!序言中的符号是什么意思?
- r - 创建集群后如何在 R 中执行 Wilcoxon-Mann-Whitney 检验?
- c# - 向量
弱 SIMD 性能 - ios - UITabBarControllerDelegate 中的变量不更新
- php - 显示具有多对多关系laravel 5.4的字段
- sql - 如何使用 PL/SQL 和动态日期进行数据透视 - 新帖子
- python - 将 GenericCSVData 对象转换为反向交易者数据馈送
- angular - 错误类型错误:无法读取未定义的属性“id”[具有效果的 ngrx 实体示例 - firebase]
- javascript - 单击时 HTML/Javascript/Bootstrap 无法隐藏按钮