startIOSActivity method

  1. @override
Future<String> startIOSActivity(
  1. Map<String, dynamic> parameters, {
  2. required dynamic onMessage(
    1. String result
    ),
  3. required dynamic onComplete(
    1. String result
    ),
})
override

Implementation

@override
Future<String> startIOSActivity(Map<String, dynamic> parameters,
    {required Function(String result) onMessage,
    required Function(String result) onComplete}) async {
  final completer = Completer<String>();
  methodChannel.setMethodCallHandler((call) async {
    if (call.method == "receiveOnMessage") {
      onMessage("call.arguments ${call.arguments}");
    }
    if (call.method == "receiveOnComplete") {
      final result = "${call.arguments}";
      onComplete(result);
      if (!completer.isCompleted) {
        completer.complete(result);
      }
    }
  });

  await methodChannel.invokeMethod("startIOSActivity", parameters);
  return completer.future;
}