我了解 Firebase Cloud Messaging 有助于发送推送通知和数据消息。我正在使用 Flutter 的 firebase_messaging pub 在我的设备中接收通知。 onMessage、onLaunch 和 onResume 回调仅在关闭或单击通知时调用。
但是,无论通知是否被取消,我都想访问收到的消息。有没有办法做到这一点,无论应用程序是在前台、后台还是已终止?
最佳答案
您可以立即将您的消息发送到广播接收器并在此处解析它
更新:
您应该创建 BroadcastReceiver
:
class YourBroadcastReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
//some code..
}
}
然后在 Manifest
中注册它:
<receiver
android:name="com.yourApp.YourBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="YourBroadcastReceiver " />
</intent-filter>
</receiver>
下一步也是最后一步是在 FirebaseMessagingService
方法 onMessageReceived
中,您可以获取数据并将其发送到 YourBroadcastReceiver
:
override fun onMessageReceived(remoteMessage: RemoteMessage) {
super.onMessageReceived(remoteMessage)
val messageText = remoteMessage.data[yourData]
val intent = Intent(this, YourBroadcastReceiver ::class.java)
intent.putExtra(messageText, messageText)
sendBroadcast(intent)
}
关于android - Firebase 云消息传递 : Parsing data from the message even when the app is terminated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54558541/