如何将数据从 iOS 发送回 Flutter?

2024-01-23

我正在尝试让 iOS 将数据发送回 flutter。更具体地说,是控制中心媒体控制。我正在开发一个音乐应用程序,我可以获取从 Flutter 发送到 iOS 的数据,从而允许它显示在媒体控件中。

但是,如果我要控制播放暂停下一个上一个,我该如何让 iOS 在自己的通道上发送数据呢?基本上让Flutter监听iOS发送数据。


假设您在插件中使用 Swift(称为 XXX),您将有一个SwiftXXXPlugin类,具有静态register方法。移动channel成为静态变量,而不是局部变量register。然后为你的iOS创建一些静态方法来Dart方法并调用invokeMethod像这样:

channel.invokeMethod("someMethod", arguments: "someValue")

arguments is Any可以是通道知道如何编码的任何内容,例如字节数组、字符串、int、double 等。它还可以对基本对象的列表和映射进行编码。

在 Dart 端,你有 XXX.dart。添加一个静态方法,例如,setHandler,并实现方法的实现。您需要致电setHandler在使用该频道之前一次。

  static setHandler() {
    _channel.setMethodCallHandler(methodCallHandler);
  }

  static Future<dynamic> methodCallHandler(MethodCall methodCall) async {
    switch (methodCall.method) {
      case 'someMethod':
        print(methodCall.arguments); // prints the argument - "someValue"
        return null; // could return a value here

      default:
        throw PlatformException(code: 'notimpl', message: 'not implemented');
    }
  }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将数据从 iOS 发送回 Flutter? 的相关文章

随机推荐