requestWriteExternalStoragePermission method
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?);
}
}