使用 FCM 推送通知时颤动中的 Kotlin 文件错误

rus*_*off 0 java kotlin flutter firebase-cloud-messaging

我想在 flutter 中使用 firebase_messaging 推送通知。在文档中有 Application.java 文件,但我的 flutter 项目使用 kotlin 文件格式。如何将此 java 代码更改为 kotlin 类型:


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;

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);
  }
}


Error is this: Expecting a top level declaration

Run Code Online (Sandbox Code Playgroud)

小智 5

我相信它没有升级的文档,他们没有提供 Kotlin 方式,但我使用此页面上的转换器将 java 转换为 Kotlin https://try.kotlinlang.org

package io.flutter.plugins.firebasemessagingexample
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
class Application:FlutterApplication(), PluginRegistrantCallback {
  fun onCreate() {
    super.onCreate()
    FlutterFirebaseMessagingService.setPluginRegistrant(this)
  }
  fun registerWith(registry:PluginRegistry) {
    GeneratedPluginRegistrant.registerWith(registry)
  }
}
Run Code Online (Sandbox Code Playgroud)