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

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

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

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

flutter flutter-layout flutter-dependencies
1个回答
1
投票

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

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

argumentsAny,可以是通道知道如何编码的任何东西,例如,字节数组,字符串,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');
    }
  }
© www.soinside.com 2019 - 2024. All rights reserved.