我的应用程序收到FCM消息并发送本地通知。当应用程序在MainActivity上运行时,我不希望通知启动一个新的MainActivity或将其置于前台。我需要它留在堆栈底部,检查本地通知中的数据并向用户显示一个对话框。有没有办法做到这一点?Android - 点击本地通知后在后台保留活动
或者,任何方式使任何堆栈顶部的活动来处理本地通知?
我的应用程序收到FCM消息并发送本地通知。当应用程序在MainActivity上运行时,我不希望通知启动一个新的MainActivity或将其置于前台。我需要它留在堆栈底部,检查本地通知中的数据并向用户显示一个对话框。有没有办法做到这一点?Android - 点击本地通知后在后台保留活动
或者,任何方式使任何堆栈顶部的活动来处理本地通知?
我发送广播到我的应用程序,而不是在单击本地通知时开始活动。广播接收机检查顶级活动并相应地执行一些任务。
那么你可以通过创建一个基本活动来实现这一点,你将在所有应用程序的活动中继承基本活动。当您收到活动时,只需检查top of the stack上的活动是否是您的基本活动的实例。 如果是这样,您可以使用您在事件中收到的数据在基本活动中创建一个对话框。 希望它有帮助。
如何从FirebaseMessagingService获取堆栈顶部的活动?自从棒棒糖以来,该链接上的解决方案不再有效。 – jarly
活动经理? –