我的应用程序中有一项活动,可以通过通知打开。但是活动的内容取决于通知的种类。例如: 如果我收到“通知”,则应用程序启动该活动,并且此活动显示“已收到”。然后,如果我收到'b通知',应用程序会再次启动活动并显示'已收到'。 问题是,当活动已经启动一次,当'b通知'再次重新启动时,活动仍显示'已收到'。根据收到的意图,我如何强制重新创建活动?活动的重新启动Android
我试过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'实例? – gunar
不知道有多少,这取决于收到的通知。 –
下面的回答可以帮助你: http://stackoverflow.com/a/3974828/1534762 http://stackoverflow.com/a/3419987/1534762 – Chandru