Capacitor plugin for switching the flashlight on and off.
npm install @capawesome/capacitor-torchCapacitor plugin for switching the flashlight on and off.
We are proud to offer one of the most complete and feature-rich Capacitor plugins for torch/flashlight control. Here are some of the key features:
- 🖥️ Cross-platform: Supports Android, iOS, and Web.
- 🔦 Torch control: Enable, disable, and toggle torch/flashlight.
- ✅ Availability check: Check if torch is available on the device.
- 🌐 Web support: Uses MediaStream API for web torch control.
- 🔁 Up-to-date: Always supports the latest Capacitor version.
Missing a feature? Just open an issue and we'll take a look!
Stay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our Capawesome Newsletter.
| Plugin Version | Capacitor Version | Status |
| -------------- | ----------------- | -------------- |
| 8.x.x | >=8.x.x | Active support |
``bash`
npm install @capawesome/capacitor-torch
npx cap sync
#### Permissions
This API requires the following permissions be added to your AndroidManifest.xml before the application tag:
`xml`
#### Variables
If needed, you can define the following project variable in your app’s variables.gradle file to change the default version of the dependency:
- $androidxCameraCoreVersion version of androidx.camera:camera-core (default: 1.5.2)
This can be useful if you encounter dependency conflicts with other plugins in your project.
No configuration required for this plugin.
A working example can be found here: robingenz/capacitor-plugin-demo
`typescript
import { Torch } from '@capawesome/capacitor-torch';
const enable = async () => {
await Torch.enable();
};
const disable = async () => {
await Torch.disable();
};
const isAvailable = async () => {
const result = await Torch.isAvailable();
return result.available;
};
const isEnabled = async () => {
const result = await Torch.isEnabled();
return result.enabled;
};
const toggle = async () => {
await Torch.toggle();
};
`
* enable(...)
* disable(...)
* isAvailable()
* isEnabled(...)
* toggle(...)
* Interfaces
`typescript`
enable(options?: EnableOptions | undefined) => Promise
Enable the torch.
Only available on Android (SDK 23+), iOS and Web.
| Param | Type |
| ------------- | ------------------------------------------------------- |
| options | EnableOptions |
Since: 6.0.0
--------------------
`typescript`
disable(options?: DisableOptions | undefined) => Promise
Disable the torch.
Only available on Android (SDK 23+), iOS and Web.
| Param | Type |
| ------------- | --------------------------------------------------------- |
| options | DisableOptions |
Since: 6.0.0
--------------------
`typescript`
isAvailable() => Promise
Check if the torch is available.
Only available on Android, iOS and Web.
Returns: Promise<IsAvailableResult>
Since: 6.0.0
--------------------
`typescript`
isEnabled(options?: IsEnabledOptions | undefined) => Promise
Check if the torch is enabled.
Only available on Android, iOS and Web.
| Param | Type |
| ------------- | ------------------------------------------------------------- |
| options | IsEnabledOptions |
Returns: Promise<IsEnabledResult>
Since: 6.0.0
--------------------
`typescript`
toggle(options?: ToggleOptions | undefined) => Promise
Toggle the torch.
Only available on Android (SDK 23+), iOS and Web.
| Param | Type |
| ------------- | ------------------------------------------------------- |
| options | ToggleOptions |
Since: 6.0.0
--------------------
#### EnableOptions
| Prop | Type | Description | Since |
| ------------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| stream | MediaStream | The stream of media to enable the torch on. Attention: The stream must have a video track. The facing mode of the video track must be the one that corresponds to the torch. Only available on Web. | 6.2.0 |
#### DisableOptions
| Prop | Type | Description | Since |
| ------------ | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| stream | MediaStream | The stream of media to disable the torch on. Attention: The stream must have a video track. The facing mode of the video track must be the one that corresponds to the torch. Only available on Web. | 6.2.0 |
#### IsAvailableResult
| Prop | Type | Description | Since |
| --------------- | -------------------- | -------------------------------------- | ----- |
| available | boolean | Whether the torch is available or not. | 6.0.0 |
#### IsEnabledResult
| Prop | Type | Description | Since |
| ------------- | -------------------- | ------------------------------------ | ----- |
| enabled | boolean | Whether the torch is enabled or not. | 6.0.0 |
#### IsEnabledOptions
| Prop | Type | Description | Since |
| ------------ | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| stream | MediaStream | The stream of media to check if the torch is enabled on. Attention: The stream must have a video track. The facing mode of the video track must be the one that corresponds to the torch. Only available on Web. | 6.2.0 |
#### ToggleOptions
| Prop | Type | Description | Since |
| ------------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| stream` | MediaStream | The stream of media to toggle the torch on. Attention: The stream must have a video track. The facing mode of the video track must be the one that corresponds to the torch. Only available on Web. | 6.2.0 |
See CHANGELOG.md.
See LICENSE.