首先,这不是因为应用程序在后台运行。
通知是使用数据消息负载发送的。在Play控制台中,它显示消息已“确认”,因此它们已到达设备。对于大多数用户,将调用onMessageReceived
方法,但对于少数用户,则不会。这是为什么呢?
AndroidManifest:
<service android:name=".push.MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<service android:name=".push.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
我的Firebase消息服务:
public class MyFirebaseMessagingService extends FirebaseMessagingService {
...
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
...
}