Androidドキュメントで、アクティビティのlaunchModeプロパティをsingleTopに設定するか、FLAG_ACTIVITY_SINGLE_TOP
フラグをMy Intentに追加すると、その呼び出しでstartActivity(intent)
が1つのActivityインスタンスを再利用してくれますonNewIntent
コールバックのインテント。私はこれらの両方を行い、onNewIntent
は決して発火しません。毎回onCreate
が発火します。ドキュメントでは、this.getIntent()
は、アクティビティが最初に作成されたときにアクティビティに最初に渡されたインテントを返します。 onCreate
で私はgetIntent
と呼んでいます。毎回新しいものを取得しています(私は別のアクティビティでインテントオブジェクトを作成しており、それに余分なものを追加しています...この余分なものは、同じインテントオブジェクト)。このすべてが、私の活動は「シングルトップ」のようには行動していないと信じています。私はその理由を理解していません。Android "single top"起動モードとonNewIntentメソッド
必要な手順が不足している場合のために背景を追加するには、マニフェストのアクティビティ宣言とアクティビティの開始に使用しているコードを次に示します。 onDestroy()
が呼び出されたかどうかをチェックしました
Intent i = new Intent();
i.putExtra(EXTRA_KEY_ARTIST, id);
i.setClass(this, ArtistActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(i);
は、このスライドショーを確認してください。 launchModeは非常に良いと説明しています。http://www.slideshare.net/RanNachmany/manipulating-android-tasks-and-back-stack – Malachiasz