openDocument function

Future<List<Uri>?> openDocument({
  1. Uri? initialUri,
  2. bool grantWritePermission = true,
  3. bool persistablePermission = true,
  4. String mimeType = '*/*',
  5. bool multiple = false,
})

Implementation

Future<List<Uri>?> openDocument({
  Uri? initialUri,
  bool grantWritePermission = true,
  bool persistablePermission = true,
  String mimeType = '*/*',
  bool multiple = false,
}) async {
  const kOpenDocument = 'openDocument';

  final args = <String, dynamic>{
    if (initialUri != null) 'initialUri': '$initialUri',
    'grantWritePermission': grantWritePermission,
    'persistablePermission': persistablePermission,
    'mimeType': mimeType,
    'multiple': multiple,
  };

  final selectedUriList =
      await kDocumentFileChannel.invokeListMethod(kOpenDocument, args);

  return selectedUriList
      ?.apply((e) => e.map((e) => Uri.parse(e as String)).toList());
}