firebase - PluginRegistry无法转换为FlutterEngine

标签 firebase flutter firebase-cloud-messaging flutter-dependencies

当我将 flutter 更新到版本 1.12.13 时,我发现了这个问题并且无法修复它。我按照发送的 firebase_messaging 教程进行操作并收到以下错误: “错误:类型不兼容:PluginRegistry 无法转换为 FlutterEngine generatedPluginRegistrant.registerWith(注册表); ” 我的代码如下:

package io.flutter.plugins;

import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;

import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.os.Build;

public class Application extends FlutterApplication implements PluginRegistrantCallback {
  @Override
  public void onCreate() {
    super.onCreate();
    FlutterFirebaseMessagingService.setPluginRegistrant(this);

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
      NotificationChannel channel = new NotificationChannel("messages","Messages", NotificationManager.IMPORTANCE_LOW);
  NotificationManager manager = getSystemService(NotificationManager.class);
  manager.createNotificationChannel(channel);
    }
  }

  @Override
  public void registerWith(PluginRegistry registry) {
    GeneratedPluginRegistrant.registerWith(registry);
  }
}

最佳答案

替换此代码行:

GeneratedPluginRegistrant.registerWith(registry);

这样:

FirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));

确保导入:

import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin;

关于firebase - PluginRegistry无法转换为FlutterEngine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59446933/

相关文章:

javascript - 如何保护可增加用户余额的 HTTPs 触发功能免受黑客攻击

flutter - 使用地理定位器的当前位置

firebase - 为什么 Firebase collection().get Documents() 返回 null 或 []?

flutter - 当我按下下载按钮时,如何显示带有CircularProgressIndicator的弹出窗口和下载状态

asp.net-core - 核心推送通知

Firebase.ServerValue.TIMESTAMP 在直接 child_added 上返回不同的值

firebase - ionic2 - angularfire2 - firestore : Missing or insufficient permissions on logout

java - 获取设备 token 时发件人 ID 无效

javascript - 将 chrome.identity 传递给 firebase 登录

swift - didReceiveRemoteNotification 和 iOS 14 崩溃