Prevent the device screen from dimming or sleeping.
npm install @capgo/capacitor-keep-awake
A simple, free, and lightweight screen wake lock plugin:
- Keep screen on - Prevent device from dimming or sleeping
- Status checking - Query current wake lock state
- Platform support - Check if wake lock is available on current platform
- Universal compatibility - Works across iOS, Android, and web
- Modern package management - Supports both Swift Package Manager (SPM) and CocoaPods (SPM-ready for Capacitor 8)
- Zero dependencies - Minimal footprint, no bloat
Perfect for video players, navigation apps, games, presentations, and any app that needs the screen to stay on.
The most complete doc is available here: https://capgo.app/docs/plugins/keep-awake/
| Plugin version | Capacitor compatibility | Maintained |
| -------------- | ----------------------- | ---------- |
| v8.\.\ | v8.\.\ | ✅ |
| v7.\.\ | v7.\.\ | On demand |
| v6.\.\ | v6.\.\ | ❌ |
| v5.\.\ | v5.\.\ | ❌ |
> Note: The major version of this plugin follows the major version of Capacitor. Use the version that matches your Capacitor installation (e.g., plugin v8 for Capacitor 8). Only the latest major version is actively maintained.
``bash`
npm install @capgo/capacitor-keep-awake
npx cap sync
Works out of the box. Uses UIApplication.shared.isIdleTimerDisabled to control screen sleep.
Works out of the box. Uses WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON flag. No permissions required.
Works in modern browsers that support the Screen Wake Lock API. Call isSupported() first to check if wake lock is available on the current browser.
* keepAwake()
* allowSleep()
* isSupported()
* isKeptAwake()
* getPluginVersion()
* Interfaces
Capacitor Keep Awake Plugin for preventing the device screen from dimming/sleeping.
`typescript`
keepAwake() => Promise
Prevent the device from dimming the screen.
Since: 1.0.0
--------------------
`typescript`
allowSleep() => Promise
Allow the device to dim the screen (disable keep awake).
Since: 1.0.0
--------------------
`typescript`
isSupported() => Promise
Check if the keep awake feature is supported on the current platform.
Returns: Promise<IsSupportedResult>
Since: 1.0.0
--------------------
`typescript`
isKeptAwake() => Promise
Check if the device is currently being kept awake.
Returns: Promise<IsKeptAwakeResult>
Since: 1.0.0
--------------------
`typescript`
getPluginVersion() => Promise<{ version: string; }>
Get the native Capacitor plugin version.
Returns: Promise<{ version: string; }>
Since: 1.0.0
--------------------
#### IsSupportedResult
Result of the isSupported() method.
| Prop | Type | Description | Since |
| ----------------- | -------------------- | -------------------------------------------------------- | ----- |
| isSupported | boolean | Whether keep awake is supported on the current platform. | 1.0.0 |
#### IsKeptAwakeResult
Result of the isKeptAwake() method.
| Prop | Type | Description | Since |
| ----------------- | -------------------- | ------------------------------------------------- | ----- |
| isKeptAwake` | boolean | Whether the device is currently being kept awake. | 1.0.0 |