What Firebase-cloud-messaging Intent-filter to use for a BroadcastReceiver?

Viewed 5170

I am trying to get the Android BroadcastReceiver to run when a Firebase Cloud message notification is received by the Android system.

public class MyBroadcastReceiver extends BroadcastReceiver {

private static final String TAG = "MyBroadcastReceiver";

@Override
public void onReceive(final Context context, Intent intent) {


    Toast.makeText(context, "EVENT OCCURED", Toast.LENGTH_LONG).show();

   }
}

It is required in the AndroidManifest to specify receiver tags as such:

    <receiver
        android:name=".MyBroadcastReceiver"  android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </receiver>

As you can see in the Manifest above I've added:

<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>

to make sure the BroadcastReceiver fires when I plug cable to Android device. It works fine.

Therefore the issue lies with the:

<action android:name="com.google.firebase.MESSAGING_EVENT" />

Is this intent-filter action not recognized by the BroadcastReceiver? Is there another intent-filter action for Firebase messaging the BroadcastReceiver uses?

1 Answers
Related