2011-12-11 42 views

回答

1

這個怎麼樣:讓通知在Home Activity啓動MessageDisplayActivity的狀態下啓動Home Activity。即:(1)通知發送的目的應該是針對HomeActivity幷包含一個額外的標誌,標識來自通知的意圖。 (2)在onCreate()中的HomeActivity發現該標誌後,只需啓動MesssageDisplayActivity。

因此,HomeActivity將存在一段短暫的時間,但可能不足以顯示。然後它將保留在後面的堆棧上,這樣後面的鍵會將你帶到那裏。

+0

在這種情況下,我認爲,如果應用程序在某個階段運行,那麼家庭活動不應標記爲「singleTask」,然後用戶選擇通知,查看消息,按回家的活動密鑰,所有其他作品的人都失去了。 – virsir

0

你應該考慮改變你的Activitylaunch mode,讓你永遠不會有這個問題 - 使用singleTasksingleInstance應該讓這個Activity始終是唯一的一個開放你的應用程序。

0

在您的應用程序中有調用消息顯示活動(MDA)的Intetent傳遞一個布爾值「true」,該值被提取並存儲在MDA中的字段中。將字段默認設置爲「false」。因此,如果您的應用程序中的某個活動調用了MDA,則該字段將具有布爾值「true」,如果它從其他任何地方(例如通知)調用,則它將設置爲false。在MDA

覆蓋公共無效onBackPressed()如下:

public void onBackPressed() { 
    if (wasCalledFromYourApp == true) { 
     super.onBackPressed(); 
    } else { 
     //[code that launches your app's home activity here] 
    } 
} 

(這是假設將僅由一個應用程序創建的通知)。

相關問題