2012-03-28 2 views
1

ユーザがナビゲーションを前後に行っても、同じアクティビティのインスタンスを起動する必要があります。ユーザーはさまざまなアクティビティ(A、B、C)のスタックをナビゲートしますが、これらのアクティビティのいずれかに行くと、そのアクティビティの同じインスタンス(静的アクティビティなど)がonResumeのみを呼び出すように表示されます。Android SDKが同じアクティビティを起動する

+0

これはアクティビティのデフォルトの動作です。 finish()を呼び出さない限り、アクティビティは「一時停止」状態になり、再び呼び出されると再開します。 – Snailer

答えて

0

あなたのアクティビティをonResume()で強制起動することはできません。しかし、あなたができることは、あなたのアクティビティの状態をonPause()とonStop()のバンドルに保存することです。次に、onStart()でこのバンドルを読み、アクティビティの状態を取得します。

+0

私はKarim VarelaがonSaveInstanceState(Bundle outState)に状態を保存できることを意味します。 Androidは、左に移動したときとまったく同じようにアクティビティを再開するために最善の努力を尽くします(つまり、新しいアクティビティに移動してバックグラウンドに移動します)が、アクティビティを作成するために必要なすべての値それはoutStateバンドルに保存されていました。まだ行っていない場合は、アクティビティライフサイクルhttp://developer.android.com/reference/android/app/Activity.htmlでドキュメントを読む必要があります。ライフサイクルを操作して、それを回避しようとしないでください。 – triggs

0

FLAG_ACTIVITY_REORDER_TO_FRONTstartActivity()で使用するのが最も近いです。

ただし、これはonResume()以上を呼び出します。フォアグラウンドにあったものが画面全体を占めていると仮定すると、少なくとも、あなたの活動はonRestart()onStart()と呼ばれます。

関連する問題