2016-06-09 61 views
0

我有一個活動A,它可以從另一個活動B開始,或者通過從Notification開始,它是在服務中創建的。無論從其他活動開始的活動是否顯示通知。 A有一個按鈕,使活動自行關閉。在android中的活動處理

我現在要實現以下行爲:

  1. 如果活動AB運行,並且用戶觸摸按鈕,應用程序應該返回B
  2. 如果活動AB運行並且用戶觸摸通知,則應顯示正在運行的活動A。如果用戶觸摸該按鈕,該應用程序應返回到B
  3. 如果活動A而不是B運行並且用戶觸摸通知,則應啓動A.如果用戶觸摸該按鈕,應用程序應完全關閉(在後臺運行的Services/BackgroundReceivers除外)。

我需要設置哪些標記/如何開始Activity?目前,活動B啓動創建A和通知的服務。原因是A可能還需要從啓動該服務的BroadcastReceiver創建。這是正確的方式嗎?

+0

Try Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK當啓動活動A. 也不要設置活動A的父活動,這將設置後退按鈕的默認行爲。 – Vijay

+0

我試過了,但是當在場景3中調用'A'中的'finish()'時,活動就會變得最小化。我想實際關閉應用程序。 – heyarne

+0

然後嘗試在按鈕單擊時調用finish()。 – Vijay

回答

1

好吧,據我所知,你想知道如何處理A活動中的按鈕。如果它來自通知,則在點擊按鈕時完成應用程序。如果它已經在那裏,你就完成了這個活動。我想說的是check this。所以,你可以使用onNewIntent方法來處理它。當A已經運行時,要更新的標誌將被處理。