android - Firebase 云消息传递 : Parsing data from the message even when the app is terminated

标签 android firebase dart flutter firebase-cloud-messaging

我了解 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/

相关文章:

android - 增加相对布局中对象之间的距离

android - 在需要项目标签的地方找到文本“”

android - 将数据从一个 fragment 传递到另一个 fragment

firebase - 我可以更改 Firebase UI Javascript 库中的 "First and last name"字段标签吗?

android - 错误 :Execution failed for task ':app:processDebugGoogleServices' - com. google.android.gms

android - mkdir 对音乐失败。权限在终端android中失败

android - Firebase异常 : Failed to bounce to type

flutter - 如何在 flutter 中获得ussd响应?

algorithm - 是什么使它成为 Dart 中的固定长度列表?

firebase - 如何使用Flutter在Firestore中显示图像文件