Flutter – Keep Application Awake with Wakelock
Last Updated :
26 Nov, 2023
In this article we will learn how to prevent device from getting into sleep mode. If you are adding some features like video calling app, video creating app, or many more you need to awake the screen when the app is open. So we can do the same thing in flutter with just a few steps.
Step By Step Implementation
Let’s start the implementation for awaking the device on just 1 button click
Step 1: Create flutter app
Create a simple flutter app using command
Step 2: Add the wakelock_plus package
Add the wake lock plus package in the project either using command or manually.
Dart
dependencies:
flutter:
sdk: flutter
wakelock_plus: ^1.1.3
|
Step 3: Code for enabling and disabling preventing for sleeping mode
For your understanding we will add 2 buttons in code. First one for enabling the sleep mode as off or second to disable the same.
Dart
Padding(
padding: const EdgeInsets.all(8.0),
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: () {
WakelockPlus.enable();
},
child: const Text( "Wakelock Enable" )),
const Text(
"After Tapping previous button this device will not go in sleep mode either there is some activity or not" ,
style: TextStyle(fontSize: 22),
),
ElevatedButton(
onPressed: () {
WakelockPlus.disable();
},
child: const Text( "Wakelock Disable" )),
const Text(
"After Tapping previous button this device will go in sleep mode if there is no activity for particular time which is set in your settings" ,
style: TextStyle(fontSize: 22),
)
],
),
),
),
|
If you want to awake the app every time user uses your app then you can do by adding this code in main function
Dart
void main() {
WidgetsFlutterBinding.ensureInitialized();
WakelockPlus.enable();
runApp( const MyApp());
}
|
Note: Avoid using this code in main function because it may consume lots of battery which user didn;t want.So make sure to use this command for very crucial apps only or only use when it required
Here you go. You have successfully built the application where you can control either to awake the device or not.
Output:
Image:
Video:
Normal Sleep Time for device is set to be 15 seconds
When Wakelock button is enabled
When We have disable wakelock
Some Common Use Cases
Media players, navigation apps, or apps that require constant monitoring
How to test whether wake lock is enable or not?
- Set your display time as minimum time in your device setting.
- Now open the Flutter App and click the enable button and wait for minimum time that you have set in your device settings.
- Please make sure not to do any activity in your app during this testing like touching ,clicking.
- After the minimum time completes if the device is open or awake it means you have successfully enable this feature
Share your thoughts in the comments
Please Login to comment...