搜尋套件、儲存庫與 APP 分類

套件詳情v1.5.3

screen_protector

透過應用程式背景截圖安全地洩漏資料,並防止 Android 與 iOS 截圖。

AndroidiOS
近 30 天下載
12.8萬
喜歡數
326
Pub 分數
150

安裝套件

flutter pub add screen_protector

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

螢幕保護程式是Flutter套件,可在Android與iOS上防止應用程式於背景執行時遭未經授權的截圖,以保護敏感資料。它利用平台特定機制來偵測並阻擋截圖嘗試,降低資料外洩風險。適用於處理機密資訊(如銀行、醫療或安全通訊)的應用程式,無需複雜實作即可提升安全性。該套件可透過簡單的pub add指令輕鬆整合至Flutter專案中。

適用情境

  • 保護金融應用中的敏感用戶數據
  • 防止醫療應用程式中的螢幕擷取
  • 保護機密通訊
  • 阻止應用背景運行時截圖
  • 增強企業行動解決方案中的隱私保護

主要特色

  • 防止在 Android 和 iOS 上截取背景螢幕
  • 使用原生平台 API 進行可靠檢測
  • 與 Flutter 的整合努力最少
  • 支援 Android 和 iOS 平台
  • 應用最小化時自動阻止截圖

適合對象

  • 處理敏感個人資訊的應用程式
  • 企業級安全要求
  • 注重隱私的應用程式
  • 行動銀行和支付平台
  • 安全的消息傳遞和通信工具

使用建議

  • 由於作業系統限制,可能無法在所有裝置上運作
  • 需要正確的權限處理
  • 對物理攝影機拍攝的防護效果有限
  • 如果過度使用,對使用者體驗的潛在影響
  • 不是端到端加密的替代品

原始 README

以下為關聯原始碼儲存庫的 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"

所屬分類

原始碼儲存庫

使用此套件的專案