shareFiles static method
Summons the platform's share sheet to share multiple files.
Wraps the platform's native share dialog. Can share a file.
It uses the ACTION_SEND
Intent on Android and UIActivityViewController
on iOS.
The optional sharePositionOrigin
parameter can be used to specify a global
origin rect for the share sheet to popover from on iPads. It has no effect
on non-iPads.
May throw PlatformException or FormatException from MethodChannel.
Implementation
static Future<void> shareFiles(
List<String> paths, {
List<String>? mimeTypes,
String? subject,
String? text,
Rect? sharePositionOrigin,
}) {
assert(paths != null);
assert(paths.isNotEmpty);
assert(paths.every((element) => element != null && element.isNotEmpty));
final Map<String, dynamic> params = <String, dynamic>{
'paths': paths,
'mimeTypes': mimeTypes ??
paths.map((String path) => _mimeTypeForPath(path)).toList(),
};
if (subject != null) params['subject'] = subject;
if (text != null) params['text'] = text;
if (sharePositionOrigin != null) {
params['originX'] = sharePositionOrigin.left;
params['originY'] = sharePositionOrigin.top;
params['originWidth'] = sharePositionOrigin.width;
params['originHeight'] = sharePositionOrigin.height;
}
return channel.invokeMethod('shareFiles', params);
}