2011-09-13 69 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上按下Back按鈕setResult(result),則一切正常。但是,如果用戶選擇通知圖標(activity_seconds可見),則啓動Activity_main上的新實例(onCreate()OnResume())。我想要的是Activity_Second應該關閉它並且(Activity_Main的onResume())應該被調用。此時Activity_Main(第二個實例),Activity_second,Activity_Main(第一個實例)在活動堆棧上。

我在生成通知時設置了以下標誌。

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

什麼是解決此問題的其他方法?

回答

1

@維內特,它沒有幫助。

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

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

togather幫我解決這個... from this link

1

嘗試添加這些標誌,以你的意圖後:

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

沒有幫助,維尼特,謝謝 – JRC