如何修复我的 Application.java 以使用新版本的 Firebase_messaging

Dea*_*ard 2 firebase flutter firebase-cloud-messaging

我今天已经升级了我所有的 firebase 软件包,我不得不升级到版本 8.0.0-dev.13 以进行 firebase 消息传递,即使由于依赖性问题它仍在开发中。在 Application.Java 中,我有:

package com.halloglobal.flutterapp.hallo;

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 io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin;
import io.flutter.view.FlutterMain;

public class Application extends FlutterApplication implements PluginRegistrantCallback {
@override
public void onCreate() {
super.onCreate();
FlutterFirebaseMessagingService.setPluginRegistrant(this);
}
@override
public void registerWith(PluginRegistry registry) {
FirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
}
}
Run Code Online (Sandbox Code Playgroud)

过去运行良好,但现在使用这个新版本,我收到此错误:注意:使用 -Xlint:deprecation 重新编译以获取详细信息。/Users/hallo/Documents/HalloMonoRepo/hallo/android/app/src/main/java/com/halloglobal/flutterapp/hallo/Application.java:7: 错误:包 io.flutter.plugins.firebasemessaging 不存在 import io .flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService; ^ /Users/hallo/Documents/HalloMonoRepo/hallo/android/app/src/main/java/com/halloglobal/flutterapp/hallo/Application.java:8: 错误:包 io.flutter.plugins.firebasemessaging 不存在导入io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin;

我需要如何更改我的 Application.java 才能使用新版本?

Dea*_*ard 5

我通过完全删除插件注册来修复它,新版本现在在内部处理它。


Hak*_*kut 1

这对我有用。也许会对你有帮助。如果有一些你不使用的东西,请像flutter本地通知一样删除它。您也可以查看这篇文章 https://medium.com/@demmydwirhamadan/working-well-firebase-cloud-messaging-push-notification-in-flutter-tested-on-android-4eb91f45d45

import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin;

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

    @Override
    public void registerWith(PluginRegistry registry) {

        if (alreadyRegisteredWith(registry)) {
            return;
        }
        FirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
        FlutterLocalNotificationsPlugin.registerWith(registry.registrarFor("com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin"));
    }
    private static boolean alreadyRegisteredWith(PluginRegistry registry) {
        final String key = Application.class.getCanonicalName();
        if (registry.hasPlugin(key)) {
            return true;
        }
        registry.registrarFor(key);
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)