JSPM

@danyalwe/capacitor-sensors

0.0.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q50935F
  • License MIT

Get access to every sensor present in the device!

Package Exports

  • @danyalwe/capacitor-sensors
  • @danyalwe/capacitor-sensors/dist/esm/index.js
  • @danyalwe/capacitor-sensors/dist/plugin.cjs.js

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 sync

If 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 
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);
});

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

init(...)

init(options: SensorOptions) => Promise<SensorData | undefined>
Param Type
options SensorOptions

Returns: Promise<SensorData>


getAvailableSensors()

getAvailableSensors() => Promise<{ sensors: SensorType[]; }>

Returns: Promise<{ sensors: SensorType[]; }>


checkPermissions()

checkPermissions() => Promise<PermissionStatus>

Checks the permissions for the given sensor.

Returns: Promise<PermissionStatus>


requestPermissions(...)

requestPermissions(sensor: SensorData) => Promise<PermissionStatus>
Param Type
sensor SensorData

Returns: Promise<PermissionStatus>


start(...)

start(sensor: SensorData) => Promise<void>
Param Type
sensor SensorData

stop(...)

stop(sensor: SensorData) => Promise<void>
Param Type
sensor SensorData

addListener(...)

addListener(eventName: SensorEvent, listenerFunc: (event: SensorResult) => void) => Promise<PluginListenerHandle>
Param Type
eventName SensorEvent
listenerFunc (event: SensorResult) => void

Returns: Promise<PluginListenerHandle>


removeAllListeners()

removeAllListeners() => Promise<void>

Interfaces

SensorData

Prop Type
infos SensorInfos

SensorInfos

Prop Type
vendor string
version number
type number
maxRange number
resolution number
power number
minDelay number
maxDelay number

SensorOptions

Prop Type
type SensorType
delay SensorDelay

PermissionStatus

Prop Type
accelerometer PermissionState
'ambient-light-sensor' PermissionState
gyroscope PermissionState
magnetometer PermissionState

PluginListenerHandle

Prop Type
remove () => Promise<void>

SensorResult

Prop Type
accuracy number
timestamp number
values number[]

Type Aliases

PermissionState

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

SensorEvent

keyof typeof SensorType

Enums

SensorType

Members
AMBIENT_LIGHT
ACCELEROMETER
TEMPERATURE
GAME_ROTATION_VECTOR
GEOMAGNETIC_ROTATION_VECTOR
GRAVITY
GYROSCOPE
HEART_BEAT
HEART_RATE
LINEAR_ACCELERATION
MAGNETOMETER
MOTION_DETECTOR
POSE_6DOF
PRESSURE
PROXIMITY
RELATIVE_HUMIDITY
ROTATION_VECTOR
SIGNIFICANT_MOTION
STATIONARY_DETECTOR
STEP_COUNTER
STEP_DETECTOR
ABSOLUTE_ORIENTATION
RELATIVE_ORIENTATION

SensorDelay

Members
FASTEST
GAME
UI
NORMAL