Fragment 继续从之前的执行中获取额外的数据

问题描述

我有以下情况:

我有 2 个活动,名为 CameraActivity 和 AcceptPhotoActivity。

CameraActivity,更准确地说是它的片段,向 AcceptPhotoActivity 传递一个额外的数据,如下所示:

Intent intent = new Intent(getContext(),AcceptPhotoActivity.class);                                
intent.putExtra(SgaAppConstantes.ARG_FOTOSALVAR_ID,foto);
startActivity(intent);

AcceptPhotoActivity,通过它的片段,可以成功地检索照片的值:

Bundle h = getActivity().getIntent().getExtras();

FotoGuardarBean fotoBean = h.getParcelable(SgaAppConstantes.ARG_FOTOSALVAR_ID);

在某些情况下,AcceptPhotoActivity可以调用CameraActivity,像这样:

Intent intent = new Intent(getContext(),CameraActivity.class);
                    intent.putExtra(MapRecintosFragment.ARG_EXP_ID,MapRecintosFragment.expedienteBean);
                    intent.putExtra(MapRecintosFragment.ARG_USER_ID,MapRecintosFragment.sgaUser);
                    intent.putExtra(MapRecintosFragment.ARG_RECINTO_ID,MapRecintosFragment.mItemRecinto);

                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    getContext().startActivity(intent);

然后,我检查了当再次执行 CameraActivity 时会生成一个新的 foto 值。

但是在 AcceptPhotoActivity 中执行上述指令时

Bundle h = getActivity().getIntent().getExtras();

FotoGuardarBean fotoBean = h.getParcelable(SgaAppConstantes.ARG_FOTOSALVAR_ID);

它一直采用与第一次生成时相同的 foto 值。

我无法理解这种事情怎么会发生。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)