如何实现Android详细通知?

时间:2010-08-13 05:52:13

标签: java android android-activity android-manifest

之前可能已经提出过这个问题,但我找不到实现它的好方法。我正在尝试编写一个管理一种消息形式的程序,这些消息是从外部数据源接收的。这一切都有效。但是,当我尝试通知用户时,问题出现了:我希望通知会在触摸时直接跳转到消息,但这似乎搞乱了后台堆栈。这可能是最好的例子:

  1. 我打开消息列表,主要活动,然后浏览一段时间。
  2. 我回到家,进入另一个应用程序(让我们说音乐)。
  3. 收到新邮件。出现通知,我触摸。将显示消息详细信息视图。
  4. 现在我回击了。我想要发生的是我回到音乐,但不幸的是,Back将我发送到消息列表,然后按回来将返回音乐。
  5. list和detail活动都标记为“singleTop”,我用于通知Intent的确切标志是:

    • FLAG_ACTIVITY_NEW_TASK
    • FLAG_ACTIVITY_CLEAR_TOP
    • FLAG_ACTIVITY_SINGLE_TOP

    我认为如果Messaging应用程序可以执行此操作,为什么我不能?

1 个答案:

答案 0 :(得分:0)

我找到了一种方法,但它仍然不理想:

  • 将详细活动更改为与其他所有内容具有不同的任务关联。
  • android:launchMode="singleTop"android:excludeFromRecents="true"添加到详细活动的清单条目中。
  • (可选)修改列表活动以使用FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET打开详细活动。 (这使得任务更像是内置的消息传递应用程序。)

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