【问题标题】:JobScheduler - Updating job info after creating jobJobScheduler - 创建工作后更新工作信息
【发布时间】:2018-11-27 13:49:08
【问题描述】:

我想在一定时间后将数据同步到服务器,这个时间可配置为 30 分钟到 8 小时。

我正在使用JobScheduler实现上述。

有什么方法可以更新与JobScheduler 关联的JobInfo

这样我就可以将setPeriodic(intervalMillis)方法中设置的值更新为更新的时间间隔。

【问题讨论】:

    标签: android android-jobscheduler jobservice


    【解决方案1】:

    参考下面的示例代码

        int PERIODIC_SYNC_JOB_ID = 0;
        long interval  = 1000 * 60 * 20;
        JobInfo.Builder builder = new JobInfo.Builder(PERIODIC_SYNC_JOB_ID,
                new ComponentName(getApplicationContext(), SampleJobService.class));
        JobInfo jobInfo = builder.setPeriodic(interval).build();
    
        JobScheduler jobScheduler = (JobScheduler) getApplicationContext().getSystemService(Context.JOB_SCHEDULER_SERVICE);
        jobScheduler.schedule(jobInfo);
    
        Log.d("JobScheduler", "Sample job is scheduled every " + interval + " ms");
    

    SampleJobService.java

    public class SampleJobService extends JobService {
    @Override
    public boolean onStartJob(JobParameters jobParameters) {
        Log.d("SampleJobService", "onStartJob()");
    
        // do something in another thread/handler/AsyncTask
    
        jobFinished(jobParameters, false);
        Log.d("SampleJobService", "Sample job is rescheduled");
        return true;
    }
    
    @Override
    public boolean onStopJob(JobParameters jobParameters) {
        Log.d("SampleJobService", "onStopJob()");
        return false;
    }
    

    }

    记得在 Manifest 中添加你的服务

            <service
            android:name=".SampleJobService"
            android:permission="android.permission.BIND_JOB_SERVICE" />
    

    请注意,最小间隔为 15 分钟。尝试在调度作业时声明一个较小的周期,这将导致作业仍然是周期性的,但将在此有效周期内运行。

    【讨论】:

    • 我怎样才能 udpaet 间隔?
    • 您必须取消预定的作业。然后用新的间隔用 setPeriodic(interval) 方法重新安排作业。
    • 重新安排新的间隔同步后立即触发。我不想要这个。示例将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多