我正在使用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());
}
答案 0 :(得分:7)
您的代码似乎很好。我们将使用JobService
调用onStartJob()
,并在JobParameters
中传递。致电getExtras()
上的JobParameters
,让PersistableBundle
读取值:
@Override
public boolean onStartJob(JobParameters params) {
PersistableBundle pb=params.getExtras();
// do good stuff
}