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

Posted

技术标签:

【中文标题】使用 FCM 推送通知时颤动中的 Kotlin 文件错误【英文标题】:Kotlin file error in flutter when using FCM pushnotification 【发布时间】:2020-09-03 21:19:02 【问题描述】:

我想使用 firebase_messaging 推送通知。在文档中有 Application.java 文件,但我的颤振项目使用 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

【问题讨论】:

不能自己写或者用java to kotlin intellij转换器吗?看起来里面有一个隐藏的字符,如果你正在使用它可能是 VSCode 中的一个错误,请参阅***.com/questions/55017476/… 【参考方案1】:

我相信文档没有升级,他们不提供 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)
  

【讨论】:

以上是关于使用 FCM 推送通知时颤动中的 Kotlin 文件错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 FCM 向我的数据库中的用户发送推送通知?安卓

如何使用 FCM 在颤振中推送通知

通过 FCM 发送时未收到推送通知,但在 IOS 上通过 APN 发送时收到

通过 FCM 发送推送通知时何时使用 iOS 设备令牌?

颤动的 FCM 通知声音在发布中不起作用

Flutter 按主题使用 FCM 推送通知