我想发送一个Intent来启动一个Activity。我希望能够修改该Intent。然后,当Activity被销毁并重新创建时,我希望在调用getIntent()
时仍然存在这些修改。
目前,在Activity尚未被销毁的情况下修改Intent是可行的。但如果它被销毁了,则在重新创建活动时,它将获得启动它的原始Intent,而不是可能已经修改的第一次启动时接收到的副本。
我想发送一个Intent来启动一个Activity。我希望能够修改该Intent。然后,当Activity被销毁并重新创建时,我希望在调用getIntent()
时仍然存在这些修改。
目前,在Activity尚未被销毁的情况下修改Intent是可行的。但如果它被销毁了,则在重新创建活动时,它将获得启动它的原始Intent,而不是可能已经修改的第一次启动时接收到的副本。
这不是正确的做法。你想要做的是保存数据,对吧?在这种情况下,你不需要操作意图,只需更改值,然后保存它们,下次应用程序运行时,它将从上次加载值,以下是一些代码:
如何保存值:
//Create sharedPref (It's android's way of saving values)
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
//Save Values here
editor.putInt(getString(R.string.saved_high_score), newHighScore);
//Commit changes
editor.commit();
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
activity.setIntent(activity.getIntent());