PersistableBundle 将值传递给服务和检索
PersistableBundle pass values to service and retrieve
我正在使用 JobScheduler 并且能够 运行 调度程序。
现在我想使用 PersistableBundle 将一些值从我的 Activity 传递到我的服务 class。有人可以指导如何传递值并检索它吗?这是我试图传递值的函数。
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
中传递。在 JobParameters
上调用 getExtras()
让 PersistableBundle
读入值:
@Override
public boolean onStartJob(JobParameters params) {
PersistableBundle pb=params.getExtras();
// do good stuff
}
我正在使用 JobScheduler 并且能够 运行 调度程序。
现在我想使用 PersistableBundle 将一些值从我的 Activity 传递到我的服务 class。有人可以指导如何传递值并检索它吗?这是我试图传递值的函数。
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
中传递。在 JobParameters
上调用 getExtras()
让 PersistableBundle
读入值:
@Override
public boolean onStartJob(JobParameters params) {
PersistableBundle pb=params.getExtras();
// do good stuff
}