繁体   English   中英

如何禁用 flutter 编程语言的屏幕捕获?

[英]how to disable screen capture in flutter programming language?

在这种情况下,我将禁用某些页面上的屏幕捕获。 其中包含容易被滥用的文档。 Flutter 支持吗?

此代码 main.dart:

  Future<void> _toggleScreenShot() async {

    if (_isSecureScreen == true) {
      await FlutterWindowManager
          .addFlags(FlutterWindowManager.FLAG_SECURE);
      print("Tidak bisa ");
    } else {
      await FlutterWindowManager
          .clearFlags(FlutterWindowManager.FLAG_SECURE);
      print("Tidak bisa ");
    }

    setState(() {
      _isSecureScreen = !_isSecureScreen;
    });
  }

此代码 mainactivity.kt:

@Override
fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);

}

检查这个 package flutter_windowsmanager

在我们的应用程序中,我们只希望禁用特定屏幕的屏幕截图,而不是整个应用程序生命周期。 这现在可以通过简单地调用来完成:

await FlutterWindowManager.addFlags(FlutterWindowManager.FLAG_SECURE);

对于相关屏幕。

将此添加到 pubspec.yaml 中的依赖项

flutter_windowmanager: ^0.0.2

在这种情况下,我将禁用某些页面上的屏幕截图。 其中包含容易被滥用的文档。 Flutter 支持吗?

此代码 main.dart:

  Future<void> _toggleScreenShot() async {

    if (_isSecureScreen == true) {
      await FlutterWindowManager
          .addFlags(FlutterWindowManager.FLAG_SECURE);
      print("Tidak bisa ");
    } else {
      await FlutterWindowManager
          .clearFlags(FlutterWindowManager.FLAG_SECURE);
      print("Tidak bisa ");
    }

    setState(() {
      _isSecureScreen = !_isSecureScreen;
    });
  }

此代码 mainactivity.kt:

@Override
fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM