saveToGalleryManually function
- File imageFile
Saves imageFile
to the public gallery folder /Pictures/Itinereo
.
Requests the appropriate permission depending on Android SDK version. Throws an Exception if permission is denied.
Implementation
Future<File> saveToGalleryManually(File imageFile) async {
final androidInfo = await DeviceInfoPlugin().androidInfo;
final sdkInt = androidInfo.version.sdkInt;
late final File savedPath;
final status =
sdkInt >= 33
? await Permission.photos.request()
: await Permission.storage.request();
if (!status.isGranted) throw Exception("Permission denied to save photos.");
final dir = Directory('/storage/emulated/0/Pictures/Itinereo');
if (!await dir.exists()) {
await dir.create(recursive: true);
}
final fileName = 'itinereo_${DateTime.now().millisecondsSinceEpoch}.jpg';
savedPath = File('${dir.path}/$fileName');
await imageFile.copy(savedPath.path);
return savedPath;
}