JSPM

@danyalwe/capacitor-sensors

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

Get access to every sensor present in the device!

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 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 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'