2010-08-13 81 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打开详细活动。 (这使得任务更像是内置的消息应用程序)

该方案的唯一缺点是切换回应用程序将始终返回列表活动,但至少它是一致的。如果有其他人有更好的方法来做到这一点,我很乐意听到它。