アクティビティを開始し、インテントの putExtra() 関数を使用してメッセージを渡す通知があります。メッセージは、アクティビティの onCreate 関数でユーザーに表示されます。方向の変更によりアプリケーションが再起動されると、メッセージはインテントのバンドル データにまだあるため、再度表示されます。
余分なデータを削除するにはどうすればよいですか?
私は次のことを試しました:
Bundle bundle = getIntent().getExtras();
if (bundle.getBoolean("showMessage")) {
// ... show message that is in bundle.getString("message")
// remove message
bundle.remove("showMessage");
}
しかし、方向が変更された後もメッセージは表示されます。使用された意図は私が変更したものではなく、元のもののようです。私が見つけた唯一の回避策は、 showMessage をさらに o に保存することですnSaveInstanceState()
。別の方法はありますか?それとも、これが進むべき道ですか?