【发布时间】:2013-07-24 05:37:04
【问题描述】:
我的应用中有一个活动,可以通过通知打开。但是活动的内容取决于通知的类型。例如 : 如果我收到“通知”,应用程序会启动活动,并且此活动会显示“已收到”。然后,如果我收到“b 通知”,应用程序会再次启动活动并显示“b received”。 问题是当活动已经启动一次时,当'b通知'再次重新启动它时,活动仍然显示'a received'。如何根据收到的 Intent 强制重新创建活动?
我尝试了 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);但这不起作用。
谢谢!
编辑: 经过一番研究,我发现问题出在 pendingIndent 上。 PendingIntent.getActivity(ctx, 0, intent, 0) 中作为参数传递的意图似乎没有更新。我刚刚加了
intent.setAction(Long.toString(System.currentTimeMillis()));
一切都像魅力一样。
【问题讨论】:
-
您在
onNewIntent()中没有得到任何可以使用的东西吗?你有多少个Activity实例? -
不知道有多少,这取决于收到的通知。
-
以下答案可能对您有所帮助:*.com/a/3974828/1534762*.com/a/3419987/1534762
-
刚刚编辑了问题
标签: android android-intent android-activity