open method
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;
}
}