Android 当应用程序未处于任务或被终止状态时,如何获取FCM通知数据?

Android 当应用程序未处于任务或被终止状态时,如何获取FCM通知数据?,android,firebase,broadcastreceiver,firebase-cloud-messaging,Android,Firebase,Broadcastreceiver,Firebase Cloud Messaging,我需要从android中的FCM通知中获取数据并将其存储在本地,但问题是我只能在应用程序位于前台,然后调用onMessageRecieved或当用户点击通知时这样做。我想在用户收到通知且应用程序未运行时(即使在后台或前台)获取通知的数据。请提出一些建议。提前感谢。使用FCM控制台,您只能发送通知消息。通知消息可以在前台应用程序中通过onMessageReceived方法处理,并在后台应用程序中传递到设备的系统托盘。用户点击通知,默认应用程序启动器将打开。若要在应用程序的每个状态下处理通知,必须使

我需要从android中的FCM通知中获取数据并将其存储在本地,但问题是我只能在应用程序位于前台,然后调用
onMessageRecieved
或当用户点击通知时这样做。我想在用户收到通知且应用程序未运行时(即使在后台或前台)获取通知的数据。请提出一些建议。提前感谢。

使用FCM控制台,您只能发送通知消息。通知消息可以在前台应用程序中通过onMessageReceived方法处理,并在后台应用程序中传递到设备的系统托盘。用户点击通知,默认应用程序启动器将打开。若要在应用程序的每个状态下处理通知,必须使用data message和onMessageReceived方法

有关更多信息,请参阅。

您可以使用

公共类FirebaseDataReceiver扩展了BroadcastReceiver{
私有最终字符串标记=“FirebaseDataReceiver”;
公共void onReceive(上下文、意图){
Bundle=intent.getExtras();
if(bundle!=null){
Set keys=intent.getExtras().keySet();
for(字符串键:bundle.keySet()){
对象值=bundle.get(键);
//您可以在此处使用键和值
}
}
}
}
Manifest.xml

<application>

    ............

    <receiver
        android:name="PackageName.FirebaseDataReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        </intent-filter>
    </receiver>

    ............

</application>

............
............

查看此链接我以前已经看到过该链接,谢谢,但即使应用程序从任务中删除或被终止,我也需要这样做。即使应用程序不在后台或前台,我也需要通知数据。谢谢,即使应用程序不在后台运行,它也能正常工作,这正是我想要的:))
<application>

    ............

    <receiver
        android:name="PackageName.FirebaseDataReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        </intent-filter>
    </receiver>

    ............

</application>