PersistableBundle将值传递给服务和检索

nit*_*21a 3 service android 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());
Run Code Online (Sandbox Code Playgroud)

}

Com*_*are 7

你的代码似乎很好.你JobService将被召唤onStartJob(),被传入JobParameters.呼吁getExtras()JobParameters获得PersistableBundle在读取值:

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

    // do good stuff
  }
Run Code Online (Sandbox Code Playgroud)