Flutter 模块使用 Pigeon 插件与主应用程序通信

问题描述 投票:0回答:1

我将一个 Flutter 模块导入到主 Flutter 应用程序中。我正在尝试使用 Pigeon 插件将模块中的方法调用到主应用程序的本机端。但是,我在正确配置 Pigeon 时遇到问题。

这是我到目前为止所做的: 1-在我的主应用程序中创建了我的消息声明文件(message_api.dart)。 2-生成相关代码(Flutter端的pigeon_api.dart和Android本机端的pigeon_api.kt)。 3-从本机端的 MainActivity 初始化我的 API(这是标准配置)。

为了允许模块也调用 Pigeon 创建的方法,我将 Pigeon_api.dart 文件复制到模块的 Flutter 部分中。然后我将它用于代码中的标准方法调用。

我面临的问题是,当我调试时,代码似乎无法将我的模块中的pigow_api.dart链接到我的主应用程序本机端的pigow_api.kt。即使频道名称和 Pigeon 版本相同。

有人遇到过这个问题或者可以提供一些指导吗?几天来我一直在努力寻找解决方案。任何帮助将不胜感激!

android flutter kotlin dart pigeon
1个回答
0
投票

如果您尝试调用该方法并且通道设置不正确,您将在控制台上看到错误或警告日志。

并记住设置 Flutter 引擎的 API 接口。示例代码:

class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
        super.configureFlutterEngine(flutterEngine)

        MyAPI.setUp(flutterEngine.dartExecutor.binaryMessenger, MyAPIImplementation())
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.