Debug School

rakesh kumar
rakesh kumar

Posted on

How to Disable Screenshot Capture/Screen Recording in Flutter

Referene1
Referene2
Referene3
Referene4

Image description
When your app is in the background, a snapshot of the last state of your app is automatically shown in the task-switcher. Though useful which switching between apps, it’s undesirable to show sensitive user data such as bank account details. Seen this feature in action before? Perhaps the picture below will ring a bell β€”
method 1
Image description

import 'package:flutter_windowmanager/flutter_windowmanager.dart';
Enter fullscreen mode Exit fullscreen mode
 await FlutterWindowManager.addFlags(FlutterWindowManager.FLAG_SECURE);
//enables secure mode for app, disables screenshot, screen recording
Enter fullscreen mode Exit fullscreen mode

Full Code

import 'package:flutter/material.dart';
import 'package:flutter_windowmanager/flutter_windowmanager.dart';
void main() {
  runApp(
    MaterialApp( 
      home: MyApp(),
    )
  );
}

class MyApp extends StatefulWidget{
  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  @override
  void initState() {
    Future.delayed(Duration.zero, () async { //to run async code in initState
       await FlutterWindowManager.addFlags(FlutterWindowManager.FLAG_SECURE);
       //enables secure mode for app, disables screenshot, screen recording
    });

    super.initState();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
          body: Container(
             //your app content here
          )
    );
  }
}
Enter fullscreen mode Exit fullscreen mode

Method2

Future<void> secureScreen() async {
await FlutterWindowManager.addFlags(FlutterWindowManager.FLAG_SECURE); 
}

@override
 void initState() {
 secureScreen();
 super.initState();
}
Enter fullscreen mode Exit fullscreen mode

Method3

dependencies:
  flutter:
    sdk: flutter
  flutter_windowmanager: ^0.2.0
Enter fullscreen mode Exit fullscreen mode
import 'package:flutter_windowmanager/flutter_windowmanager.dart';
Enter fullscreen mode Exit fullscreen mode

Image description

Image description

Image description

Method5

Image description

Image description

Image description

Image description

Top comments (0)