2011-09-13 15 views
2

Androidの通知とアクティビティのオーダーに関する質問があります。私はいくつかのタスクを実行する私の最初の活動として、Activity_Mainいる通知のアクティビティオーダー

は、私は次のシナリオを持っています。 BACKボタンを押すと通知が発生します。 Activity_Mainには次の呼び出しがあります(onKeyDown()OnPause()OnStop()OnDestroy())。ユーザーが通知アイコンをクリックすると、Activity_Mainが開始され、呼び出し順序は(OnCreate(),OnResume())になります。どちらが良いですか。

今Activity_MainがActivity_SecondはStartActivityForResult() APIを使用して、タスクの進捗状況の通知を生成する開始ボタンが含まれ、関数呼び出しは、(onSaveInstance()OnPause()OnStop())。 Activity_SecondのボタンをsetResult(result)で押すと、すべて正常に動作します。しかし、ユーザーが通知アイコン(activity_secondsが表示されている)を選択すると、Activity_main(onCreate()OnResume())の新しいインスタンスが開始されました。私が欲しいのは、Activity_Secondがそれを閉じ、(Activity_MainのonResume())を呼び出す必要があるということです。今すぐActivity_Main(2番目のインスタンス)、Activity_second、Activity_Main(1番目のインスタンス)がアクティビティスタックにあります。

通知を生成する際に次のフラグが設定されています。

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP); 

これを解決する他の方法は何ですか?あなたの目的にこれらのフラグを追加した後

答えて

1

は、それが助けをdidntの。

Intent notificationIntent = new Intent(this,Activity_Main.class); 

<activity ....android:launchMode="singleTask" > 

がテーマと連動この... from this link

1

試してみてください。vineet @

notificationIntent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY); 
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
+0

didntのヘルプ、vineet、感謝を解決するために私を助けました – JRC