我尝试following the firebase_messaging
documentation来实现接收后台数据消息,但是之后,我注意到不仅后台数据消息不起作用,而且前台数据消息也不起作用。
我已经在Android中设置了FlutterApplication
:
public class Application extends FlutterApplication implements PluginRegistrantCallback {
@Override
public void onCreate() {
super.onCreate();
FlutterFirebaseMessagingService.setPluginRegistrant(this);
}
@Override
public void registerWith(PluginRegistry registry) {
GeneratedPluginRegistrant.registerWith(registry);
}
}
在清单中,我指定了application
android.name=".Application"
。
我还确认该应用程序已正确注册,但是registrar.activity()
是null
。
Future<void> onMessage(Map<String, dynamic> message) { ... }
_firebaseMessaging.configure(
onMessage: onMessage,
onBackgroundMessage: onMessage,
);
我已经确认configure
代码已正确调用。
我在设备上正确收到了通知消息,即它们正确显示在状态栏中。
但是,无论Android应用程序处于前台还是后台,我的数据消息都不会触发任何东西。
我不知道如何进一步调试它:
我知道注册密钥是正确的,因为我可以正确接收通知消息。
我确认configure
代码和Android代码均已正确调用。
是否存在已知问题或解决方案?