我正在使用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
}