當使用pendingIntent啓動活動並且該活動已在後臺激活時,我無法獲取新的intent的額外資源。 getIntent返回開始活動的意圖,但在這種情況下,Android會將其重新置於前面並調用onResume。 我希望能夠獲得新的附加功能以更新活動。當活動被提前時,如何獲得新的意圖?
我該怎麼辦?
當使用pendingIntent啓動活動並且該活動已在後臺激活時,我無法獲取新的intent的額外資源。 getIntent返回開始活動的意圖,但在這種情況下,Android會將其重新置於前面並調用onResume。 我希望能夠獲得新的附加功能以更新活動。當活動被提前時,如何獲得新的意圖?
我該怎麼辦?
嘗試
@Override
protected void onNewIntent(Intent intent) {
// TODO Auto-generated method stub
super.onNewIntent(intent);
}
編輯:活動launchmode設置爲singleTask
不會被調用。該文檔說:'這被稱爲在其包中將launchMode設置爲「singleTop」的活動,或者如果客戶端在調用startActivity(Intent)時使用了FLAG_ACTIVITY_SINGLE_TOP標誌。 ' 順便說一句,即使與single_top標誌,但它沒有被調用。無論如何,我不想要這個標誌 – 2012-07-09 09:01:44
意圖是不是的onCreate和onNewIntent同樣可以工作。 如果活動啓動模式是singleTask或singleInstance,那麼您在兩種情況下都會使用intent。 請仔細閱讀:http://developer.android.com/reference/android/app/Activity.html#onNewIntent(android.content.Intent)
onNewIntent를통해들어오는인텐트와的onCreate에서갖어오는인텐트(getIntent)는다르다。
你是否傳遞了'FLAG_UPDATE_CURRENT'標誌? – nullpotent 2012-07-09 08:38:17
是的,我正在通過這個標誌。但我不認爲它是相關的。 – 2012-07-09 09:03:04