Ошибка при настройке обмена сообщениями firebase для фоновых сообщений в kotlin flutter

#android #flutter #kotlin #firebase-cloud-messaging

#Android #флаттер #kotlin #firebase-облако-обмен сообщениями

Вопрос:

Мое приложение.kt содержит:

 package com.example.somename
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"));
}
}
  

Ошибка, которую я получаю при ее запуске:

 √ Built buildappoutputsflutter-apkapp-debug.apk.
E/AndroidRuntime(22518): FATAL EXCEPTION: main
E/AndroidRuntime(22518): Process: com.example.somename, PID: 22518
E/AndroidRuntime(22518): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.somename/com.example.somename.Application}: java.lang.ClassCastException: com.example.somename.Application cannot be cast to android.app.Activity
E/AndroidRuntime(22518):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2843)
E/AndroidRuntime(22518):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
E/AndroidRuntime(22518):        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
E/AndroidRuntime(22518):        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
E/AndroidRuntime(22518):        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
E/AndroidRuntime(22518):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
E/AndroidRuntime(22518):        at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(22518):        at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime(22518):        at android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime(22518):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(22518):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime(22518):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/AndroidRuntime(22518): Caused by: java.lang.ClassCastException: com.example.somename.Application cannot be cast to android.app.Activity
E/AndroidRuntime(22518):        at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69)
E/AndroidRuntime(22518):        at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:41)
E/AndroidRuntime(22518):        at android.app.Instrumentation.newActivity(Instrumentation.java:1215)
E/AndroidRuntime(22518):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2831)
E/AndroidRuntime(22518):   
  

У меня все мои импортные файлы работают нормально, и все работает нормально, когда я не пытаюсь реализовать функцию фоновых сообщений. Файл kotlin также вызывается правильно в моем файле манифеста.
Я не уверен, что именно я делаю неправильно, и любая информация будет полезна! Спасибо.

Комментарии:

1. Пожалуйста, зарегистрируйте свой сервис в классе, который унаследован от Activity, а не от Application.

2. Можете ли вы показать в коде, я не знаком с Kotlin