Flutter WakeLock - How do i prevent Screen sleep in Flutter
Published February 11, 2022In this flutter example we will see how to manage prevent screen lock while using the app. Generally mobile screen will go into sleep mode when there is no user event on the device. But when we watch any videos we just wat it and not do any event on the screen, at that time screen will go into sleep. To avoid screen sleep in flutter we will use WakeLock plugin.
This wakelock plugin provides two methods to Enable/Disable screen sleep mode.
To enable the wakelock, we will use Wakelock.enable and to disable it, we will call Wakelock.disable.
Let's write flutter example to prevent screen lock
Step 1: Create Flutter application in android studio
Step 2: Add required plugin to pubspec.yaml file
dependencies: flutter: sdk: flutter wakelock: |
Step 3: Import wakelock in dart file
import 'package:wakelock/wakelock.dart'; |
Step 4: Handle Screen Sleep OFF and ON by below code
MaterialButton(onPressed: (){ if(SCREEN_ON_OFF==0) Wakelock.enable(); else Wakelock.disable(); }, child: Text( (SCREEN_ON_OFF==0)?"Sceen Off":"Sceen On"), ) |
Step 5: Lets run the code
![]() |
Complete code for Prevent screen from sleep in flutter
import 'package:flutter/material.dart'; import 'package:wakelock/wakelock.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatefulWidget { const MyApp({Key? key}) : super(key: key); @override State<MyApp> createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { int SCREEN_ON_OFF=0; @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: Scaffold( appBar: AppBar(title: Text("Flutter Prevent Screen Sleep"),), body: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Center( child: MaterialButton( color: Colors.red, onPressed: (){ setState(() { if(SCREEN_ON_OFF==0) SCREEN_ON_OFF=1; else SCREEN_ON_OFF=0; }); if(SCREEN_ON_OFF==0) Wakelock.enable(); else Wakelock.disable(); }, child: Text( (SCREEN_ON_OFF==0)?"Sceen Off":"Sceen On",style: TextStyle(color: Colors.white),), ), ) ], ), ), ); } } |
Article Contributed By :
|
|
|
|
1206 Views |