A simple, free, and lightweight flashlight control plugin:
- Intensity control - Adjust brightness levels (iOS and Android 13+)
- Status checking - Query flashlight availability and current state
- Toggle support - Simple on/off switching with toggle method
- Universal compatibility - Works across iOS, Android, and web (Chrome on mobile devices)
- Modern package management - Supports both Swift Package Manager (SPM) and CocoaPods (SPM-ready for Capacitor 8)
- Zero dependencies - Minimal footprint, no bloat
Perfect for QR scanner apps, emergency torch features, camera apps, and utility tools.
The most complete doc is available here: https://capgo.app/docs/plugins/flash/
npm install @capgo/capacitor-flash
npx cap syncWorks out of the box
Works out of the box. No permissions are required since the CameraManager.setTorchMode() API (introduced in Android 6.0) does not require camera permission.
Optionally, you can declare the flash hardware feature in your AndroidManifest.xml:
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />Works in Chrome and Chromium-based browsers on mobile devices. Uses the MediaDevices API with torch constraint. Call isAvailable() first to check if torch control is supported on the current browser/device.
Capacitor Flash Plugin for controlling device flashlight/torch.
isAvailable() => Promise<{ value: boolean; }>Checks if flashlight is available on the device.
Returns: Promise<{ value: boolean; }>
Since: 1.0.0
switchOn(options: { intensity?: number; }) => Promise<void>Turns the flashlight on.
| Param | Type | Description |
|---|---|---|
options |
{ intensity?: number; } |
- Optional configuration including light intensity |
Since: 1.0.0
switchOff() => Promise<void>Turns the flashlight off.
Since: 1.0.0
isSwitchedOn() => Promise<{ value: boolean; }>Checks if the flashlight is currently turned on or off.
Returns: Promise<{ value: boolean; }>
Since: 1.0.0
toggle() => Promise<{ value: boolean; }>Toggle the flashlight on or off.
Returns: Promise<{ value: boolean; }>
Since: 1.0.0
getPluginVersion() => Promise<{ version: string; }>Get the native Capacitor plugin version.
Returns: Promise<{ version: string; }>
Since: 1.0.0
