Android-打开应用程序时从推送通知读取数据
我已经使用Firebase云消息设置了我的应用程序,以接收通知 我创建了一个从FirebaseMessagingService扩展而来的服务,并覆盖了MessageReceived上的方法。在这里,我创建了一个通知,当您单击它时,根据作为参数提供的RemoteMessage数据导航到某个活动。 这不是问题,但它只在应用程序位于前台或后台时才起作用 当应用程序关闭时,操作系统负责启动通知,问题就来了。 当我点击它时,第一个活动被打开(在我的例子中是SplashActivity),我必须阅读通知数据才能知道下一步要打开什么活动 我不知道怎么做。 有没有办法在SplashActivity中获取该数据?可能是的副本 简言之,当应用程序处于后台(或就此关闭)时,通知的Android-打开应用程序时从推送通知读取数据,android,Android,我已经使用Firebase云消息设置了我的应用程序,以接收通知 我创建了一个从FirebaseMessagingService扩展而来的服务,并覆盖了MessageReceived上的方法。在这里,我创建了一个通知,当您单击它时,根据作为参数提供的RemoteMessage数据导航到某个活动。 这不是问题,但它只在应用程序位于前台或后台时才起作用 当应用程序关闭时,操作系统负责启动通知,问题就来了。 当我点击它时,第一个活动被打开(在我的例子中是SplashActivity),我必须阅读通知数据
数据段将传递给intent extras
从谷歌的文档中:
当你的应用程序在后台时,Android会将通知消息定向到系统托盘。默认情况下,用户点击通知会打开应用程序启动器
这包括同时包含通知和数据有效负载的消息(以及从通知控制台发送的所有消息)。在这些情况下,通知会发送到设备的系统托盘,数据有效负载会在启动器活动的目的之外发送
因此,在您的Splash活动中,您可以执行以下操作:
@Override
public void onCreate(Bundle savedInstanceState) {
if (getIntent() != null) {
Bundle dataBundle = getIntent().getExtras();
// dataBundle contains the notification data payload
}
}
可能重复的谢谢!!!!!这对我来说很有效,通知数据来自于SplashActivity意图。