open method

Future<MiniProgramShareResult> open({
  1. required String miniProgramId,
  2. String? title,
  3. String? text,
  4. Uri? url,
  5. List<String> mediaRefs = const <String>[],
})

Implementation

Future<MiniProgramShareResult> open({
  required String miniProgramId,
  String? title,
  String? text,
  Uri? url,
  List<String> mediaRefs = const <String>[],
}) async {
  _ensureActive();
  if (_requestInProgress) {
    throw const MiniProgramShareException(
      errorCode: MiniProgramErrorCodes.shareRequestInProgress,
      message: 'A system share request is already in progress.',
    );
  }
  final request = _validatedRequest(
    miniProgramId: miniProgramId,
    title: title,
    text: text,
    url: url,
    mediaRefs: mediaRefs,
  );
  _requestInProgress = true;
  try {
    final result = await provider.open(request);
    result.validate();
    return result;
  } on FormatException catch (error) {
    throw MiniProgramShareException(
      errorCode: MiniProgramErrorCodes.shareOperationFailed,
      message: error.message.toString(),
    );
  } finally {
    _requestInProgress = false;
  }
}