requestStoragePermission static method
Request media/storage permission (Android-version-aware). iOS = always granted.
Implementation
static Future<bool> requestStoragePermission(BuildContext context) async {
if (Platform.isAndroid) {
final androidVersion = await getAndroidVersion();
if (androidVersion >= 33) {
final mediaImages = await Permission.photos.request();
final mediaVideos = await Permission.videos.request();
if (mediaImages.isGranted && mediaVideos.isGranted) return true;
if (context.mounted) _showPermissionDeniedMessage(context, 'Izin akses media diperlukan.');
return false;
}
final storagePermission = await Permission.storage.request();
if (storagePermission.isGranted) return true;
if (context.mounted) _showPermissionDeniedMessage(context, 'Izin akses penyimpanan diperlukan.');
return false;
}
return true;
}