我有一个通知,它启动我的活动并使用意图的 putExtra() 函数传递消息。然后该消息在活动的 onCreate 函数中显示给用户。当应用程序由于方向更改而重新启动时,该消息会再次显示,因为它仍然在 Intent 的捆绑数据中。
如何删除多余的数据?
我尝试了以下方法:
Bundle bundle = getIntent().getExtras();
if (bundle.getBoolean("showMessage")) {
// ... show message that is in bundle.getString("message")
// remove message
bundle.remove("showMessage");
}
但是方向改变后仍然会显示消息,看起来使用的意图不是我改变的那个,而是原来的那个。我发现的唯一解决方法是将 showMessage 额外保存在 o 中nSaveInstanceState()
。还有其他方法吗?或者这是要走的路?