requestWriteExternalStoragePermission method

Future<bool?> requestWriteExternalStoragePermission()

In Android 5 return result of ContextCompat.checkSelfPermission Firstly, you need add permission into AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

In Android 6-9 will be showed permission request dialog In Android 10 and later nothing won't be showed because Scoped Storage doesn't require permission

On ios platform always returns true

Implementation

Future<bool?> requestWriteExternalStoragePermission() async {
  final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
    'dev.flutter.pigeon.FileSaverApi.requestWriteExternalStoragePermission',
    codec,
    binaryMessenger: _binaryMessenger,
  );
  final Map<Object?, Object?>? replyMap =
      await channel.send(null) as Map<Object?, Object?>?;
  if (replyMap == null) {
    throw PlatformException(
      code: 'channel-error',
      message: 'Unable to establish connection on channel.',
    );
  } else if (replyMap['error'] != null) {
    final Map<Object?, Object?> error =
        (replyMap['error'] as Map<Object?, Object?>?)!;
    throw PlatformException(
      code: (error['code'] as String?)!,
      message: error['message'] as String?,
      details: error['details'],
    );
  } else {
    return (replyMap['result'] as bool?);
  }
}