从通知中启动已启动的活动,从而创建有问题的活动

时间:2013-10-29 17:53:18

标签: android android-intent

我有3个活动A-B-C。让我说我在活动B上,从列表视图中我现在启动活动C,如果有意图启动活动C的通知。 所以问题是我得到了多个活动C的实例 当我使用launchMode singleTop或实例或任务时,多个活动实例的问题得到解决,但是新的launced活动并不像预期的那样正常工作。

请帮助我厌倦了使用旗帜和东西,但无法克服这个问题。

场景就像whatsapp,如果你和第一人说话,第二个人的消息作为通知,当你点击那个通知时,活动会重新启动并且工作正常。这正是我想要的。请帮我解决这个问题。 :(

提前

Thanxx

1 个答案:

答案 0 :(得分:0)

你尝试了什么旗帜,究竟什么不起作用,意味着,活动的表现如何?

您使用WhatsApp描述的内容可以通过两个步骤实现:

  • 将FLAG_ACTIVITY_SINGLE_TOP用于活动。

  • 覆盖活动中的Actvity.onNewIntent(Intent intent)方法。调用此方法而不是创建新的Activity并为您提供新的Intent。我假设Intent包含附加内容中的所有必要信息。

用户体验应如下:

  • 用户从列表中选择,这将打开新的活动
  • 他/她可以从这里按回家或后退按钮。这会使主屏幕或列表重新显示。
  • 如果出于任何原因,其他人在您的活动正在运行时调用startActivity,则会调用onNewIntent。在那里,您可以添加代码来刷新内容,也可以使用警报告诉用户内容已更改,并向用户显示所有内容。
  • 如果用户现在按下或回家,他/她将进入列表或主屏幕

如果是,您正在寻找什么,那么标志和方法就是您需要的