回到活动时如何保存ResultReceiver?

时间:2019-02-10 20:26:01

标签: android android-studio

我有2个活动:

  • 菜单
  • ScanProgress

在ScanProgress中,我正在启动一个名为ScanService的新JobIntentService实例:

mServiceResultReceiver = new ServiceResultReceiver(new Handler());
mServiceResultReceiver.setReceiver(ScanProgress.this);
ScanService.enqueueWork(ScanProgress.this, mServiceResultReceiver);

然后,我将结果打印在同一活动中(ScanProgress):

@Override
public void onReceiveResult(int resultCode, Bundle resultData) {
    switch (resultCode) {
        case SHOW_RESULT:
            if (resultData != null)
               progressBarPB.setProgress(resultData.getInt("index"));
            break;
    }
}

它工作正常,但是当我离开ScanProgress活动时,回到Main活动,然后再回到ScanProgress活动中,进度栏将重置为0。

我尝试使用getIntent().putExtras()getIntent().putExtras()onSaveInstanceState(),但没有运气。

我认为要解决此问题,我需要保留名为mServiceResultReceiver的对象/实例,这是正确的吗?我还可以实施其他哪些选择?

谢谢

0 个答案:

没有答案