私はAndroid開発にかなり慣れていないので、アクティビティの状態を保存するためのサポートが必要です。たとえば、AndroidはonCreateやonSaveInstanceStateの場合のように、savedInstanceStateバンドルを送信しないため、onPauseからインスタンスを保存してonRestoreから復元する正しい方法は何ですか。または、savedInstanceStateバンドルを使用する以外に保存するためのより良い方法はありますか?
これは意味がありますか?
[編集]わかりました、私は私の本当の問題が何であるかを知っていると思います...しかし、最初に、私が探していたのは、savedInstanceStateの代わりにSharedPreferencesを使用することだったと思います。
したがって、デバッグログの監視をさらに行うと、アクティビティをスタックの一番上に移動する代わりに、新しいアクティビティを作成していることに気付きます。はい、新しいものを作成していることに気づきました。
Intent itemintent = new Intent(MediaList.this, AudioPlayer.class);
Bundle b = new Bundle();
//...putString some strings to send
itemintent.putExtra("android.intent.extra.INTENT", b);
itemintent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivityForResult(itemintent,0);
...しかし、FLAG_ACTIVITY_REORDER_TO_FRONTは、新しいアクティビティの作成を停止することになっているのではありませんか?いくつかの文字列を送信しているので、新しいものを作成する必要があると思いますか?
さらに良いことに、文字列が同じである限り、アクティビティがすでにスタックにあるかどうかを確認し、それに切り替えるにはどうすればよいですか?-ユーザーがリストビューからメディアアイテムをクリックしたときに、このアクティビティを開始します。[/編集]