アクティビティを開始し、インテントのputExtra()関数を使用してメッセージを渡す通知があります。メッセージは、アクティビティのonCreate関数でユーザに表示されます。オリエンテーションが変更されたためにアプリケーションが再起動されると、メッセージはインテントのバンドルされたデータにそのまま残ります。オリエンテーション変更後にアクティビティが再作成される前にインテントバンドルデータを変更する
追加データを削除するにはどうすればよいですか?
私は次のことを試してみました:
Bundle bundle = getIntent().getExtras();
if (bundle.getBoolean("showMessage")) {
// ... show message that is in bundle.getString("message")
// remove message
bundle.remove("showMessage");
}
しかし向きが変化した後、メッセージが表示されます、使用目的は、私が変わっ1が、オリジナルのものではないように思えます。私が見つけた唯一の回避策は、さらにnSaveInstanceState()
にshowMessageを保存することです。 別の方法がありますか?それとも、これは行く方法ですか?
申し訳ございませんが、 'onSaveInstanceState'は@CommonsWareによって指摘されているようにこれを行う正しい方法です。 –