screen_capture_blocker 0.0.1
screen_capture_blocker: ^0.0.1 copied to clipboard
Un plugin de Flutter para bloquear capturas y grabaciones de pantalla en Android, iOS, Windows y macOS.
Screen Capture Blocker #
screen_capture_blocker
es un plugin de Flutter diseñado para bloquear capturas de pantalla y grabaciones de pantalla en las plataformas Android, iOS, Windows, y macOS. Este plugin es útil para aplicaciones que manejan datos sensibles y necesitan mayor seguridad visual.
Características #
- Bloquea capturas de pantalla y grabaciones de pantalla.
- Compatible con Android, iOS, Windows, y macOS.
- Ofrece métodos para habilitar y deshabilitar la protección en tiempo real.
Instalación #
Agrega este plugin como una dependencia en tu archivo pubspec.yaml
:
dependencies:
screen_capture_blocker:
git:
url: https://github.com/AndresCarden/screen_capture_blocker
Ejecuta:
flutter pub get
Uso #
1. Importa el Plugin #
import 'package:screen_capture_blocker/screen_capture_blocker.dart';
2. Bloquea Capturas de Pantalla #
Llama al método blockScreenCapture
para bloquear capturas y grabaciones de pantalla:
await ScreenCaptureBlocker.blockScreenCapture();
3. Permite Capturas de Pantalla #
Llama al método allowScreenCapture
para permitir capturas y grabaciones de pantalla nuevamente:
await ScreenCaptureBlocker.allowScreenCapture();
Ejemplo Completo #
import 'package:flutter/material.dart';
import 'package:screen_capture_blocker/screen_capture_blocker.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Screen Capture Blocker')),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () async {
await ScreenCaptureBlocker.blockScreenCapture();
print('Bloqueo de captura activado.');
},
child: const Text('Bloquear Capturas'),
),
ElevatedButton(
onPressed: () async {
await ScreenCaptureBlocker.allowScreenCapture();
print('Bloqueo de captura desactivado.');
},
child: const Text('Permitir Capturas'),
),
],
),
),
),
);
}
}
Compatibilidad por Plataforma #
Plataforma | Estado |
---|---|
Android | Soportado |
iOS | Soportado |
Windows | Soportado |
macOS | Soportado |
Web | No soportado |
Limitaciones #
- En Windows, la API
SetWindowDisplayAffinity
no bloquea capturas realizadas en escritorios remotos o máquinas virtuales. - En macOS, el bloqueo es limitado y requiere configuraciones específicas de ventanas.
- Web no es compatible debido a la falta de APIs nativas en navegadores para bloquear capturas.
Contribuir #
- Haz un fork del repositorio.
- Crea una nueva rama para tus cambios.
- Haz un commit con tus mejoras.
- Envía un Pull Request.
Licencia #
Este proyecto está bajo la licencia MIT License.