startAndroidActivity method

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

Implementation

@override
Future<String> startAndroidActivity(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("startAndroidActivity", parameters);
  return completer.future;
}