FLUTTER ECOSYSTEM

prongbang/screen_protector

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

Capa do projeto proteção de tela
Stars
63
Forks
52
Último push (UTC)
14 de jul. de 2026
Status do projeto
Ativo
prongbang GitHub avatar
GITHUB User

prongbang ↗

Devไปวันๆ https://fb.me/async.true

Founder, Inteniquetic, Co-Founder Innotech DevelopmentBangkok, ThailandSite oficial ↗
LinguagensDartSwiftKotlinRubyObjective-CMakefile

Tópicos técnicos

Pacotes publicados por este repositório

Dependências usadas

Lista de dependências 3 itens
  • flutter{"sdk":"flutter"}
  • flutter_testDesenvolvimento{"sdk":"flutter"}
  • flutter_lintsDesenvolvimento^2.0.3

README original

Texto original em inglês. Visite o GitHub para a versão atual.

Expandir / recolher README

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"