2011-07-26 67 views
5

MainActivity強制重啓活動有lauchMode="singleTask"如何從意圖

現在我想從特殊目的數據的通知開始活動。 在MainActivity.onResume我訪問給定的意圖數據...

的問題是:當活動已經存在了,我點擊該通知,活動涉及到的前景,但該方法onResume不叫,我不能訪問意圖數據。

我試過國旗FLAG_ACTIVITY_CLEAR_TASK,這適用於蜂巢,但不適用於薑餅。

這是我從開始通知活動:

Intent intent = new Intent(); 
intent.setClass(this, MainActivity.class); 
intent.putExtra("triggerid", triggerid); 
startActivity(intent); 

回答

9

onResume()總是被稱爲如果該活動是不是在前臺。但是,您可能看到的是getIntent()正在返回啓動活動的意圖,而不是最近發送給它的意圖。

要解決此問題,您應該覆蓋onNewIntent()。這將收到發送給它的新意向。然後,您可以使用收到的意向呼叫setIntent(),這將導致getIntent()onResume()中使用時返回新意向。