PersistableBundle将值传递给服务和检索

时间:2015-03-30 10:08:50

标签: android service android-service android-jobscheduler

我正在使用JobScheduler并能够运行调度程序。

现在我想使用PersistableBundle将一些值从我的Activity传递给我的Service类。有人可以指导如何传递值并检索它吗?这是我试图传递值的函数。

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());

}

1 个答案:

答案 0 :(得分:7)

您的代码似乎很好。我们将使用JobService调用onStartJob(),并在JobParameters中传递。致电getExtras()上的JobParameters,让PersistableBundle读取值:

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

    // do good stuff
  }