https://github.com/prongbang/screen_protector
Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.
https://github.com/prongbang/screen_protector
data-leakage data-leakage-background-screenshot prevent-screenshot-android prevent-screenshot-ios
Last synced: 6 months ago
JSON representation
Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.
- Host: GitHub
- URL: https://github.com/prongbang/screen_protector
- Owner: prongbang
- License: mit
- Created: 2022-02-28T12:31:32.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-21T09:06:15.000Z (about 1 year ago)
- Last Synced: 2025-04-03T15:18:09.455Z (7 months ago)
- Topics: data-leakage, data-leakage-background-screenshot, prevent-screenshot-android, prevent-screenshot-ios
- Language: Dart
- Homepage: https://pub.dev/packages/screen_protector
- Size: 171 KB
- Stars: 46
- Watchers: 1
- Forks: 27
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# screen_protector
Safe Data Leakage via Application Background Screenshot and Prevent Screenshot for Android and iOS.
[](https://www.buymeacoffee.com/prongbang)
## Feature
### Import
```dart
import 'package:screen_protector/screen_protector.dart';
```### iOS
#### Protect Data Leakage Background Screenshot
- Protect data leakage with image
```dart
await ScreenProtector.protectDataLeakageWithImage('LaunchImage');
```- Protect data leakage with color ON
```dart
await ScreenProtector.protectDataLeakageWithColor(Colors.white);
```- Protect data leakage with color OFF
```dart
await ScreenProtector.protectDataLeakageWithColorOff();
```- Protect data leakage with blur ON
```dart
await ScreenProtector.protectDataLeakageWithBlur();
```- Protect data leakage with blur OFF
```dart
await ScreenProtector.protectDataLeakageWithBlurOff();
```#### Prevent Screenshot
- ON
```dart
await ScreenProtector.preventScreenshotOn();
```- OFF
```dart
await ScreenProtector.preventScreenshotOff();
```#### Check Screen Recording
```dart
final isRecording = await ScreenProtector.isRecording();
```### Android
#### Protect Data Leakage Background Screenshot and Prevent Screenshot
- ON
```dart
await ScreenProtector.protectDataLeakageOn();
```or
```dart
await ScreenProtector.preventScreenshotOn();
```- OFF
```dart
await ScreenProtector.protectDataLeakageOff();
```or
```dart
await ScreenProtector.preventScreenshotOff();
```#### Protect Data Leakage for Android 12+ (Optional)
[https://github.com/prongbang/screen-protector](https://github.com/prongbang/screen-protector)
```kotlin
import com.prongbang.screenprotect.AndroidScreenProtectorclass 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.
```dart
import 'package:screen_protector/screen_protector.dart';class _PreventScreenshotPageState extends State {
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
```dart
import 'package:screen_protector/screen_protector.dart';class _PreventScreenshotPageState extends State {
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
```dart
import 'package:screen_protector/screen_protector.dart';class _ProtectDataLeakagePageState extends State {
void _protectDataLeakageWithColor() async => await ScreenProtector.protectDataLeakageWithColor(Colors.white);
@override
void initState() {
_protectDataLeakageWithColor();
super.initState();
}
}
```- Protect data leakage with image

```dart
import 'package:screen_protector/screen_protector.dart';class _ProtectDataLeakagePageState extends State {
void _protectDataLeakageWithImage() async => await ScreenProtector.protectDataLeakageWithImage('LaunchImage');
@override
void initState() {
_protectDataLeakageWithImage();
super.initState();
}
}
```- Protect data leakage with blur
```dart
import 'package:screen_protector/screen_protector.dart';class _ProtectDataLeakagePageState extends State {
void _protectDataLeakageWithBlur() async => await ScreenProtector.protectDataLeakageWithBlur();
@override
void initState() {
_protectDataLeakageWithBlur();
super.initState();
}
}
```