我试图在 Android 系统收到 Firebase Cloud 消息通知时运行 Android BroadcastReceiver。
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();
}
}
需要在 AndroidManifest 中指定接收者标签,如下所示:
<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>
正如您在上面的清单中看到的,我添加了:
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
确保当我将电缆插入 Android 设备时,BroadcastReceiver 会触发。效果很好。
因此,问题在于:
<action android:name="com.google.firebase.MESSAGING_EVENT" />
BroadcastReceiver 是否无法识别此意图过滤器操作?
BroadcastReceiver 使用的 Firebase 消息传递是否还有另一个意图过滤器操作?