Java Firebase Cloud Messaging Android从托盘打开应用程序的运行实例,而不是新实例

Java Firebase Cloud Messaging Android从托盘打开应用程序的运行实例,而不是新实例,java,android,firebase,firebase-cloud-messaging,Java,Android,Firebase,Firebase Cloud Messaging,下午好 我正在努力将FCM集成到我的android应用程序中,而且一切都很好。应用程序位于前台时,通知会得到正确处理,当应用程序位于后台时,系统托盘中会出现一条通知,这与预期一致。我的问题是,当我单击系统托盘中的通知时,它会打开应用程序的新实例,而不是在后台运行的应用程序 这并不理想,原因有二: 1) 。应用程序的运行实例实际上在通知到达时(从后台)处理通知,然后当用户单击任务栏中的通知并创建一个新实例时,由于旧实例的存在,该通知被认为已经“处理”了。。。不是我想要的结果 2) 。不那么重要,但

下午好

我正在努力将FCM集成到我的android应用程序中,而且一切都很好。应用程序位于前台时,通知会得到正确处理,当应用程序位于后台时,系统托盘中会出现一条通知,这与预期一致。我的问题是,当我单击系统托盘中的通知时,它会打开应用程序的新实例,而不是在后台运行的应用程序

这并不理想,原因有二:

1) 。应用程序的运行实例实际上在通知到达时(从后台)处理通知,然后当用户单击任务栏中的通知并创建一个新实例时,由于旧实例的存在,该通知被认为已经“处理”了。。。不是我想要的结果

2) 。不那么重要,但仍然不是很好的用户体验,新实例迫使用户坐在我的启动屏幕上,不可见的登录功能再次出现,即使应用程序已经在后台运行

如何让系统托盘中的通知从后台打开应用程序的运行/现有实例,而不是新实例?文档中指出,您可以从通知中调用特定的意图,但这仍然会打开应用程序的新实例,除非我遗漏了什么


让我知道我的代码是否有帮助。提前感谢您的帮助

我不清楚你想做什么。您是说您只是希望通知将现有的活动堆栈带到前台,而不是创建新的活动?在这两种情况下,您都不是在真正创建新的“应用程序实例”。你的应用程序几乎肯定只有一个进程,但它可以有不同的活动堆栈@感谢您的快速回复。您是正确的,我希望在用户单击通知时将现有活动堆栈置于前台,而不是创建新活动。问题在于,它会在单击时重新启动应用程序,并返回到初始屏幕和登录活动。我不要这个。我想简单地将正在运行的活动从后堆栈向前推进到前台。这可能吗?我不认为这是可能的。云消息将启动一个意图,它将触发新活动的创建。@DougStevenson感谢您的更新,这是我从文档中了解到的,但我只是想确保我没有遗漏什么。我会尝试给它一个意图,至少跳过启动屏幕,解决一些其他问题。再次感谢您的快速转身!