screen_protector
Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.
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
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();
}
}