Search packages, repositories and app categories

Package detailsv1.8.2

wakelock_plus

Plugin that allows you to keep the device screen awake, i.e. prevent the screen from sleeping on Android, iOS, macOS, Windows, Linux, and web.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
2.7M
Likes
649
Pub points
160

Install package

flutter pub add wakelock_plus

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

wakelock_plus is a Flutter plugin that prevents the device screen from sleeping, keeping it awake across multiple platforms including Android, iOS, web, macOS, Windows, and Linux. It's ideal for applications requiring continuous screen visibility, such as video players, navigation apps, or kiosk modes. The package provides simple APIs to enable or disable the wakelock, ensuring consistent behavior regardless of the platform. It’s lightweight and integrates seamlessly into existing Flutter projects.

Use cases

  • Video playback
  • Navigation apps
  • Kiosk mode
  • Digital signage
  • Interactive tutorials
  • Long-running processes

Key features

  • Cross-platform support
  • Simple API
  • Low battery impact
  • Auto-release on app exit
  • Platform-specific optimizations
  • No native code required

Suitable for

  • Media apps
  • Point-of-sale systems
  • Educational tools
  • Presentation apps
  • Applications needing uninterrupted display

Considerations

  • May increase battery usage
  • Requires user permission on some platforms
  • Not suitable for background tasks
  • Can interfere with system power management
  • Should be disabled when not needed
  • Potential usability issues if overused

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Wakelock Plus

GitHub stars Pub version

A continuation of the original Flutter plugin that allows you to keep the device screen awake, i.e. prevent the screen from sleeping.

Supported platforms

Platform wakelock_plus support
Android ✅
iOS ✅
Web ✅
macOS ✅
Windows ✅
Linux ✅

Getting started

To learn more about the plugin and getting started, you can view the main package's README.

Plugin structure

This plugin plugin uses the federated plugins approach.

Android, iOS, macOS (via Hybrid Implementation), and Web use Platform Channels in their implementations. Windows and Linux are handled through Dart-only platform implementations.

The basic API is defined using pigeon. The pigeon files can be found in the pigeons directory in the main package. The API is defined in Dart in the wakelock_plus_platform_interface package.

The packages in this repo are the following:

Package Implementations
wakelock_plus Main plugin package + Android, iOS, macOS, Windows, Linux, and Web implementations
wakelock_plus_platform_interface Basic API definition & message handling

Contributing

If you want to contribute to this plugin, follow the contributing guide.

Origin

As stated before, this plugin is a continuation of the original wakelock plugin. That plugin was originally based on screen.

Specifically, the wakelock functionality was extracted into the wakelock plugin due to lack of maintenance by the author of the screen plugin.

For this library, the functionality remains the same as the original plugin, but has been completely refreshed (using latest Flutter standards and platform integration) with support for all six platforms currently supported by Flutter (Android, iOS, macOS, Windows, Linux, and Web).

Migrating from the wakelock Plugin

Simply replace the import statement with the one below:

import 'package:wakelock_plus/wakelock_plus.dart';

As well as replacing all the calls to Wakelock with WakelockPlus:

WakelockPlus.enable();
//...
WakelockPlus.disable();
//...
WakelockPlus.toggle(enable: true);

Categories

Dependencies

Dependency list 6 items

Source repository

Projects using this package

Rankings