Firebase Cloud Messaging nicht empfangen, wenn App im Hintergrund

Ich habe kürzlich meine App aktualisiert, um Nachrichten über @ zu sende FCM und es funktioniert super, wenn die App auf Jelly Bean läuft. Das Problem ist, dass dies nicht der Fall ist, wenn es @ isLutsche und die App ist imHintergrun.

Ich lese dieDokumentatio und es wird angegeben, dass, wenn es sich bei der Nutzlast um eine Datennachricht handelt, diese von @ verarbeitet wironMessageReceived (). Ich sende eine Datennutzlast,keine Benachrichtigung und es wird richtig gehandhabt, solange es JellyBean ist. Bei Lollipop wird die Nachricht nur verarbeitet, wenn sich die App im Vordergrund befindet. Wenn nicht, passiert nichts.

So sieht der Beginn meines FirebaseMessagingService aus:

public class FirebaseBroadcastReceiverService extends FirebaseMessagingService {
    private final String TAG = FirebaseBroadcastReceiverService.class.getName();

    @Override
    public void onMessageReceived(RemoteMessage message){
        Log.i(TAG, "A message is received");
        String from = message.getFrom();
        Map<String, String> data = message.getData();
        .....
    }
}

Das Manifest:

<application
    android:name=".controller.application.AppResources"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher_shadow"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@android:style/Theme.Black.NoTitleBar">

   <service
        android:name=".model.firebase.FirebaseListenerService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
        </intent-filter>
    </service>
    <service android:name=".model.firebase.FirebaseBroadcastReceiverService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    .......
</application>

Und die Nutzlast:

{ 
    "data": {
        "test": "test"
    },
    "to" : "MY FCM REGISTRATION ID"
}

Welche wird per POST an @ gesendhttps: //fcm.googleapis.com/fcm/sen mit den Kopfzeilen für Autorisierung und Inhaltstyp.

Ich habe möglicherweise alle anderen SO-Threads gelesen, die sich darauf beziehen, aber ich konnte keine Antwort darauf finden und es gibt auch keine Protokollspuren im Android-Monitor. Hat jemand einen Tipp dazu?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage