我将一个 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 版本相同。
有人遇到过这个问题或者可以提供一些指导吗?几天来我一直在努力寻找解决方案。任何帮助将不胜感激!
如果您尝试调用该方法并且通道设置不正确,您将在控制台上看到错误或警告日志。
并记住设置 Flutter 引擎的 API 接口。示例代码:
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
MyAPI.setUp(flutterEngine.dartExecutor.binaryMessenger, MyAPIImplementation())
}
}