方法通道

一个简单的 Flutter 插件包装了方法通道,以便在后台执行。

1 为什么需要方法通道包装器

1.1 简而言之

  • 当应用程序终止时,直接使用后台 Flutter Engine 调用方法通道会导致 MissingPluginException(No implementation found for method echo on channel com.presence.test_channel),但在插件中(已正确注册),一切都会顺利进行。

1.2 深层原因

1.3 如何重现

  • 请参阅 work_manager_plugin 文档

  • 当前存储库的示例项目旨在重现此问题

    步骤 1:在 XCode 中打开 example/ios/Runner.xcworkspace 步骤 2:在设备(模拟器或真实设备)上启动 Runner 目标 步骤 3:点击 Debug/Simulate Background Fetchexample/lib/main.dart.callbackDispatcher 将由原生代码调用,您将在 XCode 控制台中看到错误。

1.4 如何解决

将您的方法通道调用包装在插件中(如本项目),并正确注册它。

入门

本项目是一个 Flutter 插件包的起点,该包包含 Android 和/或 iOS 的平台特定实现代码。

有关 Flutter 开发入门的帮助,请参阅 在线文档,其中提供了教程、示例、有关移动开发的指南和完整的 API 参考。

GitHub

查看 Github