Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.5.3

screen_protector

Vazamento seguro de dados por captura de tela em segundo plano do aplicativo e impedir capturas de tela para Android e iOS.

AndroidiOS
Downloads em 30 dias
128 mil
Curtidas
326
Pontos Pub
150

Instalar pacote

flutter pub add screen_protector

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Screen Protector é um pacote Flutter que protege dados sensíveis impedindo capturas de tela não autorizadas quando o aplicativo está em segundo plano no Android e no iOS. Ele utiliza mecanismos específicos da plataforma para detectar e bloquear tentativas de captura de tela, reduzindo o risco de vazamento de dados. Ideal para aplicativos que lidam com informações confidenciais, como bancos, saúde ou mensagens seguras, ele aumenta a segurança sem exigir implementação complexa. O pacote se integra perfeitamente aos projetos Flutter por meio de um simples comando pub add.

Casos de uso

  • Protegendo dados sensíveis de usuários em aplicativos financeiros
  • Prevenção de captura de tela em aplicativos de saúde
  • Protegendo comunicações confidenciais
  • Bloquear capturas de tela durante o fundo do aplicativo
  • Melhorando a privacidade em soluções móveis corporativas

Principais recursos

  • Impede capturas de tela de fundo no Android e no iOS
  • Usa APIs nativas da plataforma para detecção confiável
  • Mínimo esforço de integração com o Flutter
  • Suporta tanto plataformas Android quanto iOS
  • Bloqueio automático de captura de tela quando o aplicativo é minimizado

Indicado para

  • Aplicativos que lidam com informações pessoais sensíveis
  • Requisitos de segurança de nível corporativo
  • Aplicativos focados na privacidade
  • Plataformas de banco móvel e pagamento
  • Ferramentas de mensagens e comunicação seguras

Considerações

  • Pode não funcionar em todos os dispositivos devido a restrições do sistema operacional
  • Requer gerenciamento adequado de permissões
  • Eficácia limitada contra captura física por câmera
  • Impacto potencial no experiência do usuário se usado em excesso
  • Não é um substituto para criptografia de ponta a ponta

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

screen_protector

Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.

Important (Breaking Change)

Versions 1.4.4 through 1.4.13 may cause crashes on some devices. Please use version 1.4.3 or earlier, or upgrade to version 1.5.1 or later.

Feature

Import
import 'package:screen_protector/screen_protector.dart';
iOS
Protect Data Leakage Background Screenshot
  • Protect data leakage with image
await ScreenProtector.protectDataLeakageWithImage('LaunchImage');
  • Protect data leakage with color ON
await ScreenProtector.protectDataLeakageWithColor(Colors.white);
  • Protect data leakage with color OFF
await ScreenProtector.protectDataLeakageWithColorOff();
  • Protect data leakage with blur ON
await ScreenProtector.protectDataLeakageWithBlur();
  • Protect data leakage with blur OFF
await ScreenProtector.protectDataLeakageWithBlurOff();
Prevent Screenshot
  • ON
await ScreenProtector.preventScreenshotOn();
  • OFF
await ScreenProtector.preventScreenshotOff();
Check Screen Recording
final isRecording = await ScreenProtector.isRecording();
Android
Protect Data Leakage Background Screenshot and Prevent Screenshot
  • ON
await ScreenProtector.protectDataLeakageOn();

or

await ScreenProtector.preventScreenshotOn();
  • OFF
await ScreenProtector.protectDataLeakageOff();

or

await ScreenProtector.preventScreenshotOff();
Protect Data Leakage for Android 12+ (Optional)

https://github.com/prongbang/screen-protector

import com.prongbang.screenprotect.AndroidScreenProtector

class MainActivity : FlutterFragmentActivity() {

    private val screenProtector by lazy { AndroidScreenProtector.newInstance(this) }

    // For Android 12+
    override fun onWindowFocusChanged(hasFocus: Boolean) {
        super.onWindowFocusChanged(hasFocus)
        screenProtector.process(hasFocus.not())
    }
}

Usage

Android
  • Protect Data Leakage Background Screenshot and Prevent Screenshot.
import 'package:screen_protector/screen_protector.dart';

class _PreventScreenshotPageState extends State<MyApp> {

  void _preventScreenshotOn() async => await ScreenProtector.protectDataLeakageOn();

  void _protectDataLeakageOff() async => await ScreenProtector.protectDataLeakageOff();

  @override
  void initState() {
    _preventScreenshotOn();
    super.initState();
  }

  @override
  void dispose() {
    _protectDataLeakageOff();
    super.dispose();
  }

}
iOS
  • Prevent Screenshot
import 'package:screen_protector/screen_protector.dart';

class _PreventScreenshotPageState extends State<MyApp> {

  void _preventScreenshotOn() async => await ScreenProtector.preventScreenshotOn();

  void _preventScreenshotOff() async => await ScreenProtector.preventScreenshotOff();

  @override
  void initState() {
    _preventScreenshotOn();
    super.initState();
  }

  @override
  void dispose() {
    _preventScreenshotOff();
    super.dispose();
  }

}
  • Protect data leakage with color
import 'package:screen_protector/screen_protector.dart';

class _ProtectDataLeakagePageState extends State<MyApp> {

  void _protectDataLeakageWithColor() async => await ScreenProtector.protectDataLeakageWithColor(Colors.white);

  @override
  void initState() {
    _protectDataLeakageWithColor();
    super.initState();
  }

}
  • Protect data leakage with image

image01.png

import 'package:screen_protector/screen_protector.dart';

class _ProtectDataLeakagePageState extends State<MyApp> {

  void _protectDataLeakageWithImage() async => await ScreenProtector.protectDataLeakageWithImage('LaunchImage');

  @override
  void initState() {
    _protectDataLeakageWithImage();
    super.initState();
  }

}
  • Protect data leakage with blur
import 'package:screen_protector/screen_protector.dart';

class _ProtectDataLeakagePageState extends State<MyApp> {

  void _protectDataLeakageWithBlur() async => await ScreenProtector.protectDataLeakageWithBlur();

  @override
  void initState() {
    _protectDataLeakageWithBlur();
    super.initState();
  }

}

💖 Support the Project

If you find this package helpful, please consider supporting it:

"Buy Me A Coffee"

Categorias

Repositório-fonte

Projetos que usam este pacote