fix(recordings): open folder with android picker
Build & Deploy Pluriwave / Análisis de código (push) Successful in 24s
Build & Deploy Pluriwave / Build APK + AAB release (push) Failing after 1m0s

This commit is contained in:
2026-05-22 18:24:05 +02:00
parent 6a5fcd8d96
commit 9ad58898e0
2 changed files with 66 additions and 0 deletions
+12
View File
@@ -3,6 +3,7 @@ import 'dart:convert';
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart';
import 'package:path_provider/path_provider.dart';
@@ -23,6 +24,10 @@ enum OrdenEmisoras { nombre, calidad }
/// Estado global de la app con ChangeNotifier (Provider).
class EstadoRadio extends ChangeNotifier {
static const MethodChannel _fileActionsChannel = MethodChannel(
'pluriwave/file_actions',
);
EstadoRadio({
ServicioAudio? audio,
ServicioFavoritos? favoritos,
@@ -626,6 +631,13 @@ class EstadoRadio extends ChangeNotifier {
Future<bool> abrirDirectorioGrabacion() async {
final ruta = await directorioGrabacionEfectivo();
await Directory(ruta).create(recursive: true);
if (!kIsWeb && Platform.isAndroid) {
final abierto = await _fileActionsChannel.invokeMethod<bool>(
'openDirectory',
{'path': ruta},
);
return abierto ?? false;
}
final uri = Uri.directory(ruta);
return launchUrl(uri, mode: LaunchMode.externalApplication);
}