Application.kt Firebase 云消息传递文件
Application.kt file for Firebase cloud messaging
我正在尝试使用最新的 FCM firebase_messaging: ^10.0.1 在我的 pubspec.yaml
根据 here 中的文档,我必须在 Android 项目文件夹中创建一个应用程序文件。从该文档中,代码仍在 Java 中,我复制并粘贴了 java 代码,因此 Android Studio 会自动将其转换为 Kotlin,结果如下
在我的 Application.kt
import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingBackgroundService
class Application : FlutterApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate()
FlutterFirebaseMessagingBackgroundService.setPluginRegistrant(this)
}
override fun registerWith(registry: PluginRegistry?) {
GeneratedPluginRegistrant.registerWith(registry)
}
}
但我有这样的错误
我已经尝试导入,但我会遇到另一个类似这样的错误:
我好像无法导入PluginRegistry,我有这样的错误提示
Add library 'Gradle: org.apache.maven:maven-ant-tasks:2.1.3' to
classpath
但是....我不明白。我应该怎么办 ?
要添加到 Application.kt (Kotlin) 以便我可以使用 Firebase 消息传递的代码是什么?还是应该在我的 kotlin 项目中使用 java 代码?
这应该是正确的实施方式
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 {
override fun onCreate() {
super.onCreate()
FlutterFirebaseMessagingService.setPluginRegistrant(this);
}
override fun registerWith(registry: PluginRegistry?) {
io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
}
}
我正在尝试使用最新的 FCM firebase_messaging: ^10.0.1 在我的 pubspec.yaml
根据 here 中的文档,我必须在 Android 项目文件夹中创建一个应用程序文件。从该文档中,代码仍在 Java 中,我复制并粘贴了 java 代码,因此 Android Studio 会自动将其转换为 Kotlin,结果如下
在我的 Application.kt
import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingBackgroundService
class Application : FlutterApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate()
FlutterFirebaseMessagingBackgroundService.setPluginRegistrant(this)
}
override fun registerWith(registry: PluginRegistry?) {
GeneratedPluginRegistrant.registerWith(registry)
}
}
但我有这样的错误
我已经尝试导入,但我会遇到另一个类似这样的错误:
我好像无法导入PluginRegistry,我有这样的错误提示
Add library 'Gradle: org.apache.maven:maven-ant-tasks:2.1.3' to classpath
但是....我不明白。我应该怎么办 ? 要添加到 Application.kt (Kotlin) 以便我可以使用 Firebase 消息传递的代码是什么?还是应该在我的 kotlin 项目中使用 java 代码?
这应该是正确的实施方式
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 {
override fun onCreate() {
super.onCreate()
FlutterFirebaseMessagingService.setPluginRegistrant(this);
}
override fun registerWith(registry: PluginRegistry?) {
io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
}
}