我正在使用火力消息传递。我按照插件自述文件中给出的步骤进行操作。但是我的应用程序.java给出了错误。
应用.java
package com.app.demoapp;
import com.transistorsoft.flutter.backgroundfetch.BackgroundFetchPlugin;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
public class Application extends FlutterApplication implements PluginRegistry.PluginRegistrantCallback {
public void onCreate() {
super.onCreate();
FlutterFirebaseMessagingService.setPluginRegistrant(this);
BackgroundFetchPlugin.setPluginRegistrant(this);
}
@Override
public void registerWith(PluginRegistry registry) {
GeneratedPluginRegistrant.registerWith(registry);
}
}
错误:
error: cannot find symbol
FlutterFirebaseMessagingService.setPluginRegistrant(this);
^
symbol: method setPluginRegistrant(Application)
location: class FlutterFirebaseMessagingService
1 error
我遇到了同样的问题,到目前为止我还没有找到任何解决方案
但是,如果您只想显示通知而不在后台处理它,然后单击它时只需午餐应用程序
删除FlutterFirebaseMessagingService.setPluginRegistrant(this);
,通知将正常工作,因为通知消息类型
如果您不知道 fcm 中的通知类型
请参阅消息类型
使用 FCM,您可以向客户端发送两种类型的消息:
1-通知消息,有时被认为是"显示消息"。 这些由 FCM SDK 自动处理。
2-数据消息,由客户端应用程序处理。
所以我们在这里使用通知消息,直到找到处理数据消息的解决方案
看起来说明文件已经过时了,它缺少一个非常重要的步骤,您可以在 github 存储库自述文件中查看该步骤
。在应用级 build.gradle 文件中添加 com.google.firebase:firebase-messaging 依赖项,该文件通常位于/android/app/build.gradle。
dependencies {
// ...
implementation 'com.google.firebase:firebase-messaging:20.1.0'
}
只是设置
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
public class Application extends FlutterApplication implements
PluginRegistrantCallback {
@Override
public void onCreate() {
super.onCreate();
FlutterFirebaseMessagingService.setPluginRegistrant(this);
}
@Override
public void registerWith(PluginRegistry registry) {
FirebaseCloudMessagingPluginRegistrant.registerWith(registry);
}
}
并使FirebaseCloudMessagingPluginRegisttrant java