2010-08-13 79 views
1

這可能以前曾被問過,但我找不到實現它的好方法。我試圖編寫一個管理消息形式的程序,並且這些消息是從外部數據源接收的。這一切都有效。但是,當我嘗試通知用戶時,問題就出現了:我想讓通知在被觸摸時直接跳轉到消息,但是這似乎弄亂了後端堆棧。這可能是最好的例子:如何實現Android細節通知?

  1. 我打開消息列表,主要活動,並瀏覽了一會兒。
  2. 我打回家,進入另一個應用程序(比方說音樂)。
  3. 收到一條新消息。我接觸到了一個通知。顯示消息詳細信息視圖。
  4. 現在我回擊了。我想要發生的是我回到音樂,但不幸的是,Back將我發送到留言列表,然後然後點擊返回將返回到音樂。

兩個列表和詳細的活動被標記爲 「singleTop」,而我使用的通知意向的確切標誌是:

  • FLAG_ACTIVITY_NEW_TASK
  • FLAG_ACTIVITY_CLEAR_TOP
  • FLAG_ACTIVITY_SINGLE_TOP

我想,如果消息應用程序可以做到這一點,爲什麼我不能?

回答

0

我發現這樣做的一種方式,但它仍然不理想:

  • 更改詳細活動有從一切不同的任務親和力。
  • android:launchMode="singleTop"android:excludeFromRecents="true"添加到詳細活動的清單條目中。
  • (可選)修改列表活動以使用FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET打開詳細活動。 (這使得任務更像是內置的消息應用程序)

該方案的唯一缺點是切換回應用程序將始終返回列表活動,但至少它是一致的。如果有其他人有更好的方法來做到這一點,我很樂意聽到它。