我正在使用jobscheduler并能够运行调度程序。
现在我想使用persistablebundle将一些值从活动传递到服务类。有人能指导如何传递和检索这些值吗?这是我试图传递值的函数。

private void constructJob(){
JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, new ComponentName(this, MyService.class));
PersistableBundle bundle = new PersistableBundle();
bundle.putInt("height",height);
bundle.putInt("width",width);
builder.setPeriodic(20000)
        .setExtras(bundle)
        .setPersisted(true);

mJobScheduler.schedule(builder.build());

}

最佳答案

你的代码看起来不错。您的JobService将与onStartJob()一起调用,并在JobParameters中传递。在getExtras()上调用JobParameters以获取要读取的值:

  @Override
  public boolean onStartJob(JobParameters params) {
    PersistableBundle pb=params.getExtras();

    // do good stuff
  }

10-04 17:36