initialize method
Inicializa el servicio de compartir pantalla
Implementation
Future<bool> initialize() async {
if (_isInitialized) return true;
try {
// Configurar el canal de método
_channel.setMethodCallHandler(_handleMethodCall);
// Inicializar según la plataforma
final result = await _channel.invokeMethod('initialize');
if (result == true) {
_isInitialized = true;
_updateState(ScreenSharingState.disconnected);
return true;
} else {
throw Exception('Error inicializando el servicio nativo');
}
} catch (e) {
_errorController.add('Error al inicializar: $e');
// Si es un MissingPluginException, usar fallback
if (e.toString().contains('MissingPluginException')) {
_isInitialized = true;
_updateState(ScreenSharingState.disconnected);
return true;
}
return false;
}
}