0

我遇到了一些問題,我正在處理的應用程序的流程。 基本上,我有一個始終保存通知的服務,按通知應該返回到應用程序的最近活動,而不重新打開它(意味着它會恢復)。 此外,對於特定的活動(也可能是其他活動),我需要點擊後退按鈕將退出應用程序(和服務),以便下次終端用戶通過啓動器啓動或通過長按主頁按鈕,它會回到第一個活動。android - 從服務或通知返回到應用程序

總之,要求是:

  • 服務的通知點擊 - >恢復當前的活動,沒有創造新的活動。
  • 返回點擊一個特定的活動 - >完全關閉應用程序(清除所有應用程序的堆棧)。

所以,例如,如果我有活性的,其調用活動B(其爲特殊的活性): 如果最終用戶點擊家,並且然後經由所述通知返回給應用程序(或通過啓動啓動器/長按Home鍵),它將返回到他離開它的活動B的確切狀態。 另外,如果最終用戶按下了活動B上的後退按鈕,則應用程序在下次打開應用程序時關閉(服務和通知將消失)(無論如何),他將返回活動A 。我試過在活動B上使用「singleInstance」,但它總是回到活動B,因爲它在它自己的任務中,不管我使用哪個標誌(我試過FLAG_ACTIVITY_REORDER_TO_FRONT和其他一些標誌標誌)。 而不使用它,通知將打開活動B的新實例。

任何人都可以請幫忙嗎?

回答

0

好吧,即使它不完全是答案,對於我的情況,我已經使用「singleTop」作爲活動B,並選擇在移動到活動B時關閉活動A.

1

另一種方法是設置通知的目的是開始一個新的假活動,該活動一旦創建就會關閉。 意圖還將具有「FLAG_ACTIVITY_NEW_TASK」標誌。

希望這種方法適用於所有人。 太糟糕了,這個解決方案看起來更像是一個解決方案而不是真正的解決方案。

另一種方法是此鏈接: Change notification intent in Android

1

果凍豆(安卓4.1),現在又推出了新的API爲這個確切的問題:

http://www.youtube.com/watch?feature=player_embedded&v=Yc8YrVc47TI#t=830s

然而

,我不知道我瞭解如何使用它以及它如何工作。是否有可能重新創建整個活動的堆棧?這不是很有問題,因爲它們可能包含之前沒有的數據(因爲它們被刷新)?

它也聽起來有問題,因爲這意味着我需要監視所有操作以便稍後恢復它們。

+1

他們還製作了導航視頻,看起來他們不希望通知返回到現有任務。相反,他們希望它開始一項新任務,以取代之前的任務。我認爲這是錯誤的,不直觀。這裏是鏈接:https://developers.google.com/events/io/sessions/gooio2012/114/。如果其他人想到我的問題的答案,請寫下來。 – 2012-07-06 10:44:43

相關問題