screen_protector 1.5.1 copy "screen_protector: ^1.5.1" to clipboard
screen_protector: ^1.5.1 copied to clipboard

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

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"

313
likes
140
points
57.1k
downloads

Documentation

API reference

Publisher

verified publisherinteniquetic.com

Weekly Downloads

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

Repository (GitHub)
View/report issues

License

Apache-2.0 (license)

Dependencies

flutter

More

Packages that depend on screen_protector

Packages that implement screen_protector