我有2个活动:
在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
的对象/实例,这是正确的吗?我还可以实施其他哪些选择?
谢谢