https://github.com/cap-go/capacitor-flash
Switch the Flashlight / Torch of your device.
https://github.com/cap-go/capacitor-flash
capacitor capacitor-plugin ionic
Last synced: 4 months ago
JSON representation
Switch the Flashlight / Torch of your device.
- Host: GitHub
- URL: https://github.com/cap-go/capacitor-flash
- Owner: Cap-go
- Created: 2021-11-15T03:25:25.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-28T23:29:58.000Z (about 1 year ago)
- Last Synced: 2025-06-12T14:05:11.574Z (about 1 year ago)
- Topics: capacitor, capacitor-plugin, ionic
- Language: Java
- Homepage: https://capgo.app
- Size: 637 KB
- Stars: 15
- Watchers: 2
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
Switch the Flashlight / Torch of your device.
## Why Capacitor Flash?
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.
## Documentation
The most complete doc is available here: https://capgo.app/docs/plugins/flash/
## Compatibility
| 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.
## Install
```bash
npm install @capgo/capacitor-flash
npx cap sync
```
## iOS
Works out of the box
## Android
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`:
```xml
```
## Web
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.
## API
* [`isAvailable()`](#isavailable)
* [`switchOn(...)`](#switchon)
* [`switchOff()`](#switchoff)
* [`isSwitchedOn()`](#isswitchedon)
* [`toggle()`](#toggle)
* [`getPluginVersion()`](#getpluginversion)
Capacitor Flash Plugin for controlling device flashlight/torch.
### isAvailable()
```typescript
isAvailable() => Promise<{ value: boolean; }>
```
Checks if flashlight is available on the device.
**Returns:** Promise<{ value: boolean; }>
**Since:** 1.0.0
--------------------
### switchOn(...)
```typescript
switchOn(options: { intensity?: number; }) => Promise
```
Turns the flashlight on.
| Param | Type | Description |
| ------------- | ------------------------------------ | -------------------------------------------------- |
| **`options`** | { intensity?: number; } | - Optional configuration including light intensity |
**Since:** 1.0.0
--------------------
### switchOff()
```typescript
switchOff() => Promise
```
Turns the flashlight off.
**Since:** 1.0.0
--------------------
### isSwitchedOn()
```typescript
isSwitchedOn() => Promise<{ value: boolean; }>
```
Checks if the flashlight is currently turned on or off.
**Returns:** Promise<{ value: boolean; }>
**Since:** 1.0.0
--------------------
### toggle()
```typescript
toggle() => Promise<{ value: boolean; }>
```
Toggle the flashlight on or off.
**Returns:** Promise<{ value: boolean; }>
**Since:** 1.0.0
--------------------
### getPluginVersion()
```typescript
getPluginVersion() => Promise<{ version: string; }>
```
Get the native Capacitor plugin version.
**Returns:** Promise<{ version: string; }>
**Since:** 1.0.0
--------------------
