Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@danyalwe/capacitor-sensors) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Capacitor Plugin - Sensors
Get access to every sensor present in the device!
Supported Android version: 23+
Supported iOS version: Not supported
Supported Browsers: Chromium-based
Install
npm install @danyalwe/capacitor-sensors
npx cap syncIf you want to use the HEART_BEAT or HEART_RATE sensor, you need to request the BODY_SENSORS permission in your app:
<uses-permission android:name="android.permission.BODY_SENSORS" />If you want to use the STEP_COUNTER or STEP_DETECTOR sensor, you need to request the ACTIVITY_RECOGNITION permission in your app:
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />Example
The following example demonstrates how to use the Sensors plugin to access the device's accelerometer:
import { Sensors } from '@danyalwe/capacitor-sensors'
// Initialize the specific sensor and obtain infos about it
const sensor = await Sensors.init({ type: 'ACCELEROMETER' })
// Start the sensor to begin receiving data
await Sensors.start({ type: 'ACCELEROMETER' })
// Add a listener to receive accelerometer data
Sensors.addListener('ACCELEROMETER', (data) => {
console.log('Accelerometer data:', data)
})
// Stop the sensor
await Sensors.stop({ type: 'ACCELEROMETER' })Todos
- Add support for iOS
Supported methods
| Name | Android | iOS | Web |
|---|---|---|---|
| init | ✅ | ❌ | ✅ |
| getAvailableSensors | ✅ | ❌ | ✅ |
| start | ✅ | ❌ | ✅ |
| stop | ✅ | ❌ | ✅ |
| addListener | ✅ | ❌ | ✅ |
| removeAllListeners | ✅ | ❌ | ✅ |
| requestPermissions | ✅ | ❌ | ✅ |
Supported sensors
| Sensors | Android | iOS | Web |
|---|---|---|---|
MOTION_DETECTOR |
✅ | ❌ | ✅ |
LINEAR_ACCELERATION |
✅ | ❌ | ✅ |
MAGNETOMETER |
✅ | ❌ | ✅ |
GRAVITY |
✅ | ❌ | ✅ |
GYROSCOPE |
✅ | ❌ | ✅ |
AMBIENT_LIGHT |
✅ | ❌ | ✅ |
ACCELEROMETER |
✅ | ❌ | ✅ |
ABSOLUTE_ORIENTATION |
✅ | ❌ | ✅ |
RELATIVE_ORIENTATION |
✅ | ❌ | ✅ |
TEMPERATURE |
✅ | ❌ | ❌ |
GAME_ROTATION_VECTOR |
✅ | ❌ | ❌ |
GEOMAGNETIC_ROTATION_VECTOR |
✅ | ❌ | ❌ |
HEART_BEAT |
✅ | ❌ | ❌ |
HEART_RATE |
✅ | ❌ | ❌ |
POSE_6DOF |
✅ | ❌ | ❌ |
PRESSURE |
✅ | ❌ | ❌ |
PROXIMITY |
✅ | ❌ | ❌ |
RELATIVE_HUMIDITY |
✅ | ❌ | ❌ |
ROTATION_VECTOR |
✅ | ❌ | ❌ |
SIGNIFICANT_MOTION |
✅ | ❌ | ❌ |
STATIONARY_DETECTOR |
✅ | ❌ | ❌ |
STEP_COUNTER |
✅ | ❌ | ❌ |
STEP_DETECTOR |
✅ | ❌ | ❌ |
API
The Sensors Plugin interface.
Interfaces
SensorOptions
Represents the options for a sensor.
| Prop | Type | Description |
|---|---|---|
type |
SensorType |
The type of sensor to use. |
delay |
SensorDelay |
The delay between sensor readings. |
SensorData
Represents the data returned by a sensor, including any additional information about the sensor.
| Prop | Type |
|---|---|
infos |
SensorInfos |
SensorInfos
Interface representing sensor information.
| Prop | Type | Description |
|---|---|---|
name |
string |
The name of the sensor. |
vendor |
string |
The vendor of the sensor. |
version |
number |
The version of the sensor. |
type |
number |
The type of the sensor. |
maxRange |
number |
The maximum range of the sensor in sensor units. |
resolution |
number |
The resolution of the sensor in sensor units. |
power |
number |
The power consumption of the sensor in milliamperes. |
minDelay |
number |
The minimum delay between sensor readings in microseconds. |
maxDelay |
number |
The maximum delay between sensor readings in microseconds. |
PermissionStatus
Interface representing the permission status for various web sensors.
| Prop | Type |
|---|---|
'accelerometer' |
PermissionState |
'ambient-light-sensor' |
PermissionState |
'gyroscope' |
PermissionState |
'magnetometer' |
PermissionState |
SensorResult
Represents the result of a sensor reading.
| Prop | Type | Description |
|---|---|---|
accuracy |
number |
The accuracy of the sensor reading, if available. |
timestamp |
number |
The timestamp of the sensor reading, if available. |
values |
{} |
The values obtained from the sensor reading. |
PluginListenerHandle
| Prop | Type |
|---|---|
remove |
() => any |
Type Aliases
SensorType
(typeof SensorTypes)[number]
SensorDelay
(typeof SensorDelays)[number]
PermissionState
'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'