requestMedia method
Request media access for the specified permission type
Implementation
Future requestMedia(BuildContext context, PlatformPermisson source) async {
// Check permission before proceeding
PermissionStatus permissionStatus = await _checkAndRequestPermission(
source,
);
// Handle granted permissions
if (permissionStatus == PermissionStatus.granted) {
return await PickerHandler().handleMediaSelection(source);
}
// If permission is permanently denied, show settings dialog
else if (permissionStatus == PermissionStatus.permanentlyDenied) {
_showOpenAppSettingsDialog(context, source);
}
// If denied, show basic permission alert
else {
_showPermissionDeniedDialog(context, source);
}
return null;
}