类型不匹配:推断的类型是 PluginRegistry?但 FlutterEngine 是预料之中的

Dja*_*ada 6 workmanagers flutter

我想使用 Flutter Workmanager,我在我的 .kt 中做了这样的引用配置:

package com.example.mybackprocess

import be.tramckrijte.workmanager.WorkmanagerPlugin
import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugins.GeneratedPluginRegistrant

class App : FlutterApplication(), PluginRegistry.PluginRegistrantCallback {
    override fun onCreate() {
        super.onCreate()
        WorkmanagerPlugin.setPluginRegistrantCallback(this)
    }

    override fun registerWith(reg: PluginRegistry?) {
        GeneratedPluginRegistrant.registerWith(reg)
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经改变android:name

android:name=".App"
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误:

在调试模式下在 G3212 上启动 lib\main.dart... e:E:\mybackprocess\android\app\src\main\kotlin\com\example\mybackprocess\MainActivity.kt: (15, 48): 类型不匹配:推断类型是 PluginRegistry?但 FlutterEngine 是预料之中的

FAILURE:构建失败,出现异常。* 出了什么问题:任务 ':app:compileDebugKotlin' 执行失败。编译错误。查看日志了解更多详情

尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。* 在https://help.gradle.org获得更多帮助

BUILD FAILED in 55s Gradle task assembleDebug failed with exit code 1 Exited (sigterm)

有人可以帮帮我吗?

Zub*_*man 6

您可以通过替换 application.kt 中的以下方法来解决此问题

override fun registerWith(registry: PluginRegistry?) {
    registry?.registrarFor("com.iotecksolutions.background_location_fetch.BackgroundLocationFetchPlugin");
}
Run Code Online (Sandbox Code Playgroud)

注意:替换com.iotecksolutions.background_location_fetch.BackgroundLocationFetchPlugin为您的插件名称。