Android 为kotlin Flatter中的后台消息设置firebase消息时出错
My Application.kt包含:Android 为kotlin Flatter中的后台消息设置firebase消息时出错,android,flutter,kotlin,firebase-cloud-messaging,Android,Flutter,Kotlin,Firebase Cloud Messaging,My Application.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.GeneratedPlugi
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 build\app\outputs\flutter-apk\app-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):
运行时出现的错误:
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 build\app\outputs\flutter-apk\app-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文件在我的清单文件中也被正确调用。
我不确定我到底做错了什么,任何洞察都会有所帮助!谢谢。请在继承自“活动”而非“应用程序”的类中注册您的服务。您能用代码显示吗?我对Kotlin不熟悉