# Sensor The **Sensor** module provides APIs for subscribing to and unsubscribing from sensor data, and obtaining the sensor list. It also provides common sensor algorithm APIs, for example, APIs for obtaining the altitude based on the atmospheric pressure and obtaining the device orientation based on the rotation matrix. A sensor is a device to detect events or changes in an environment and send messages about the events or changes to another device (for example, a CPU). Generally, a sensor is composed of sensitive components and conversion components. Sensors are the cornerstone of the Internet of Things (IoT). A unified sensor management framework is required to achieve data sensing at a low latency and low power consumption, thereby keeping up with requirements of "1+8+N" products or business in the Seamless AI Life Strategy. Based on the usage, sensors are divided into the following categories: - Motion: acceleration sensors, gyroscope sensors, gravity sensors, linear acceleration sensors, and more - Orientation: rotation vector sensors, orientation sensors, and more - Environment: magnetic field sensors, barometric pressure sensors, humidity sensors, and more - Light: ambient light sensors, proximity sensors, color temperature sensors, and more - Body: heart rate sensors, heartbeat sensors, and more - Other: Hall effect sensors, grip detection sensors, and more > **NOTE** > > The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ```js import sensor from '@ohos.sensor'; ``` ## sensor.on9+ ### ACCELEROMETER9+ on(type: SensorId.ACCELEROMETER, callback: Callback<AccelerometerResponse>,options?: Options): void Subscribes to data of the acceleration sensor. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **ACCELEROMETER**. | | callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | Yes | Callback used to return the acceleration sensor data. The reported data type in the callback is **AccelerometerResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.ACCELEROMETER,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### ACCELEROMETER_UNCALIBRATED9+ on(type: SensorId.ACCELEROMETER_UNCALIBRATED, callback: Callback<AccelerometerUncalibratedResponse>,options?: Options): void Subscribes to data of the uncalibrated acceleration sensor. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **ACCELEROMETER_UNCALIBRATED**.| | callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes | Callback used to return the uncalibrated acceleration sensor data. The reported data type in the callback is **AccelerometerUncalibratedResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.ACCELEROMETER_UNCALIBRATED,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### AMBIENT_LIGHT9+ on(type: SensorId.AMBIENT_LIGHT, callback: Callback<LightResponse>, options?: Options): void Subscribes to data of the ambient light sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------- | ---- | ----------------------------------------------------------- | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **AMBIENT_LIGHT**. | | callback | Callback<[LightResponse](#lightresponse)> | Yes | Callback used to return the ambient light sensor data. The reported data type in the callback is **LightResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.AMBIENT_LIGHT,function(data){ console.info('Illumination: ' + data.intensity); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### AMBIENT_TEMPERATURE9+ on(type: SensorId.AMBIENT_TEMPERATURE, callback: Callback<AmbientTemperatureResponse>,options?: Options): void Subscribes to data of the ambient temperature sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **AMBIENT_TEMPERATURE**. | | callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes | Callback used to return the ambient temperature sensor data. The reported data type in the callback is **AmbientTemperatureResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.AMBIENT_TEMPERATURE,function(data){ console.info('Temperature: ' + data.temperature); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### BAROMETER9+ on(type: SensorId.BAROMETER, callback: Callback<BarometerResponse>, options?: Options): void Subscribes to data of the barometer sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **BAROMETER**. | | callback | Callback<[BarometerResponse](#barometerresponse)> | Yes | Callback used to return the barometer sensor data. The reported data type in the callback is **BarometerResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.BAROMETER,function(data){ console.info('Atmospheric pressure: ' + data.pressure); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### GRAVITY9+ on(type: SensorId.GRAVITY, callback: Callback<GravityResponse>,options?: Options): void Subscribes to data of the gravity sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------------- | ---- | ----------------------------------------------------------- | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **GRAVITY**. | | callback | Callback<[GravityResponse](#gravityresponse)> | Yes | Callback used to return the gravity sensor data. The reported data type in the callback is **GravityResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.GRAVITY,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### GYROSCOPE9+ on(type: SensorId.GYROSCOPE, callback: Callback<GyroscopeResponse>,options?: Options): void Subscribes to data of the gyroscope sensor. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **GYROSCOPE**. | | callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | Yes | Callback used to return the gyroscope sensor data. The reported data type in the callback is **GyroscopeResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.GYROSCOPE,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### GYROSCOPE_UNCALIBRATED9+ on(type: SensorId.GYROSCOPE_UNCALIBRATED, callback: Callback<GyroscopeUncalibratedResponse>, options?: Options): void Subscribes to data of the uncalibrated gyroscope sensor. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **GYROSCOPE_UNCALIBRATED**. | | callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes | Callback used to return the uncalibrated gyroscope sensor data. The reported data type in the callback is **GyroscopeUncalibratedResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.GYROSCOPE_UNCALIBRATED,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### HALL9+ on(type: SensorId.HALL, callback: Callback<HallResponse>, options?: Options): void Subscribes to data of the Hall effect sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **HALL**. | | callback | Callback<[HallResponse](#hallresponse)> | Yes | Callback used to return the Hall effect sensor data. The reported data type in the callback is **HallResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.HALL,function(data){ console.info('Status: ' + data.status); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### HEART_RATE9+ on(type: SensorId.HEART_RATE, callback: Callback<HeartRateResponse>,options?: Options): void Subscribes to data of the heart rate sensor. **Required permissions**: ohos.permission.READ_HEALTH_DATA **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **HEART_RATE**. | | callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | Callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.HEART_RATE,function(data){ console.info('Heart rate: ' + data.heartRate); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### HUMIDITY9+ on(type: SensorId.HUMIDITY, callback: Callback<HumidityResponse>,options?: Options): void Subscribes to data of the humidity sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **HUMIDITY**. | | callback | Callback<[HumidityResponse](#humidityresponse)> | Yes | Callback used to return the humidity sensor data. The reported data type in the callback is **HumidityResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.HUMIDITY,function(data){ console.info('Humidity: ' + data.humidity); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### LINEAR_ACCELERATION9+ on(type: SensorId.LINEAR_ACCELEROMETER, callback: Callback<LinearAccelerometerResponse>, options?: Options): void Subscribes to data of the linear acceleration sensor. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **LINEAR_ACCELEROMETER**. | | callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | Callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.LINEAR_ACCELEROMETER, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### MAGNETIC_FIELD9+ on(type: SensorId.MAGNETIC_FIELD, callback: Callback<MagneticFieldResponse>,options?: Options): void Subscribes to data of the magnetic field sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **MAGNETIC_FIELD**. | | callback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes | Callback used to return the magnetic field sensor data. The reported data type in the callback is **MagneticFieldResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.MAGNETIC_FIELD,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### MAGNETIC_FIELD_UNCALIBRATED9+ on(type: SensorId.MAGNETIC_FIELD_UNCALIBRATED, callback: Callback<MagneticFieldUncalibratedResponse>, options?: Options): void Subscribes to data of the uncalibrated magnetic field sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **MAGNETIC_FIELD_UNCALIBRATED**. | | callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes | Callback used to return the uncalibrated magnetic field sensor data. The reported data type in the callback is **MagneticFieldUncalibratedResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### ORIENTATION9+ on(type: SensorId.ORIENTATION, callback: Callback<OrientationResponse>,options?: Options): void Subscribes to data of the orientation sensor. **System capability**: SystemCapability.Sensors.Sensor **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **ORIENTATION**. | | callback | Callback<[OrientationResponse](#orientationresponse)> | Yes | Callback used to return the orientation sensor data. The reported data type in the callback is **OrientationResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js try { sensor.on(sensor.SensorId.ORIENTATION,function(data){ console.info('The device rotates at an angle around the X axis: ' + data.beta); console.info('The device rotates at an angle around the Y axis: ' + data.gamma); console.info('The device rotates at an angle around the Z axis: ' + data.alpha); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### PEDOMETER9+ on(type: SensorId.PEDOMETER, callback: Callback<PedometerResponse>, options?: Options): void Subscribes to data of the pedometer sensor. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **PEDOMETER**. | | callback | Callback<[PedometerResponse](#pedometerresponse)> | Yes | Callback used to return the pedometer sensor data. The reported data type in the callback is **PedometerResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js try { sensor.on(sensor.SensorId.PEDOMETER,function(data){ console.info('Steps: ' + data.steps); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### PEDOMETER_DETECTION9+ on(type: SensorId.PEDOMETER_DETECTION, callback: Callback<PedometerDetectionResponse>, options?: Options): void Subscribe to data of the pedometer detection sensor. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **PEDOMETER_DETECTION**. | | callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | Yes | Callback used to return the pedometer detection sensor data. The reported data type in the callback is **PedometerDetectionResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.PEDOMETER_DETECTION,function(data){ console.info('Scalar data: ' + data.scalar); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### PROXIMITY9+ on(type: SensorId.PROXIMITY, callback: Callback<ProximityResponse>, options?: Options): void Subscribes to data of the proximity sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **PROXIMITY**. | | callback | Callback<[ProximityResponse](#proximityresponse)> | Yes | Callback used to return the proximity sensor data. The reported data type in the callback is **ProximityResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.PROXIMITY,function(data){ console.info('Distance: ' + data.distance); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### ROTATION_VECTOR9+ on(type: SensorId.ROTATION_VECTOR, callback: Callback<RotationVectorResponse>, options?: Options): void Subscribes to data of the rotation vector sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **ROTATION_VECTOR**. | | callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | Yes | Callback used to return the rotation vector sensor data. The reported data type in the callback is **RotationVectorResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.ROTATION_VECTOR,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('Scalar quantity: ' + data.w); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### SIGNIFICANT_MOTION9+ on(type: SensorId.SIGNIFICANT_MOTION, callback: Callback<SignificantMotionResponse>, options?: Options): void Subscribes to data of the significant motion sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **SIGNIFICANT_MOTION**. | | callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | Yes | Callback used to return the significant motion sensor data. The reported data type in the callback is **SignificantMotionResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.SIGNIFICANT_MOTION,function(data){ console.info('Scalar data: ' + data.scalar); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### WEAR_DETECTION9+ on(type: SensorId.WEAR_DETECTION, callback: Callback<WearDetectionResponse>, options?: Options): void Subscribes to data of the wear detection sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **WEAR_DETECTION**. | | callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | Yes | Callback used to return the wear detection sensor data. The reported data type in the callback is **WearDetectionResponse**.| | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.on(sensor.SensorId.WEAR_DETECTION,function(data){ console.info('Wear status: ' + data.value); }, {interval: 10000000} ); } catch(err) { console.info('on fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ## sensor.once9+ ### ACCELEROMETER9+ once(type: SensorId.ACCELEROMETER, callback: Callback<AccelerometerResponse>): void Subscribes to data of the acceleration sensor once. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **ACCELEROMETER**. | | callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | Yes | One-shot callback used to return the acceleration sensor data. The reported data type in the callback is **AccelerometerResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.ACCELEROMETER,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### ACCELEROMETER_UNCALIBRATED9+ once(type: SensorId.ACCELEROMETER_UNCALIBRATED, callback: Callback<AccelerometerUncalibratedResponse>): void Subscribes to data of the uncalibrated acceleration sensor once. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **ACCELEROMETER_UNCALIBRATED**. | | callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes | One-shot callback used to return the uncalibrated acceleration sensor data. The reported data type in the callback is **AccelerometerUncalibratedResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### AMBIENT_LIGHT9+ once(type: SensorId.AMBIENT_LIGHT, callback: Callback<LightResponse>): void Subscribes to data of the ambient light sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **AMBIENT_LIGHT**. | | callback | Callback<[LightResponse](#lightresponse)> | Yes | One-shot callback used to return the ambient light sensor data. The reported data type in the callback is **LightResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.AMBIENT_LIGHT, function(data) { console.info('Illumination: ' + data.intensity); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### AMBIENT_TEMPERATURE9+ once(type: SensorId.AMBIENT_TEMPERATURE, callback: Callback<AmbientTemperatureResponse>): void Subscribes to data of the ambient temperature sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **AMBIENT_TEMPERATURE**. | | callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes | One-shot callback used to return the ambient temperature sensor data. The reported data type in the callback is **AmbientTemperatureResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.AMBIENT_TEMPERATURE, function(data) { console.info('Temperature: ' + data.temperature); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### BAROMETER9+ once(type: SensorId.BAROMETER, callback: Callback<BarometerResponse>): void Subscribes to data of the barometer sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **BAROMETER**. | | callback | Callback<[BarometerResponse](#barometerresponse)> | Yes | One-shot callback used to return the barometer sensor data. The reported data type in the callback is **BarometerResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, function(data) { console.info('Atmospheric pressure: ' + data.pressure); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### GRAVITY9+ once(type: SensorId.GRAVITY, callback: Callback<GravityResponse>): void Subscribes to data of the gravity sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **GRAVITY**. | | callback | Callback<[GravityResponse](#gravityresponse)> | Yes | One-shot callback used to return the gravity sensor data. The reported data type in the callback is **GravityResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.GRAVITY, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### GYROSCOPE9+ once(type: SensorId.GYROSCOPE, callback: Callback<GyroscopeResponse>): void Subscribes to data of the gyroscope sensor once. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **GYROSCOPE**. | | callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | Yes | One-shot callback used to return the gyroscope sensor data. The reported data type in the callback is **GyroscopeResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.GYROSCOPE, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### GYROSCOPE_UNCALIBRATED9+ once(type: SensorId.GYROSCOPE_UNCALIBRATED, callback: Callback<GyroscopeUncalibratedResponse>): void Subscribes to data of the uncalibrated gyroscope sensor once. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **GYROSCOPE_UNCALIBRATED**. | | callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes | One-shot callback used to return the uncalibrated gyroscope sensor data. The reported data type in the callback is **GyroscopeUncalibratedResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.GYROSCOPE_UNCALIBRATED, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### HALL9+ once(type: SensorId.HALL, callback: Callback<HallResponse>): void Subscribes to data of the Hall effect sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **HALL**. | | callback | Callback<[HallResponse](#hallresponse)> | Yes | One-shot callback used to return the Hall effect sensor data. The reported data type in the callback is **HallResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.HALL, function(data) { console.info('Status: ' + data.status); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### HEART_RATE9+ once(type: SensorId.HEART_RATE, callback: Callback<HeartRateResponse>): void Subscribes to data of the heart rate sensor once. **Required permissions**: ohos.permission.READ_HEALTH_DATA **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **HEART_RATE**. | | callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | One-shot callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.HEART_BEAT_RATE, function(data) { console.info('Heart rate: ' + data.heartRate); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### HUMIDITY9+ once(type: SensorId.HUMIDITY, callback: Callback<HumidityResponse>): void Subscribes to data of the humidity sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **HUMIDITY**. | | callback | Callback<[HumidityResponse](#humidityresponse)> | Yes | One-shot callback used to return the humidity sensor data. The reported data type in the callback is **HumidityResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.HUMIDITY, function(data) { console.info('Humidity: ' + data.humidity); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### LINEAR_ACCELERATION9+ once(type: SensorId.LINEAR_ACCELEROMETER, callback: Callback<LinearAccelerometerResponse>): void Subscribes to data of the linear acceleration sensor once. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **LINEAR_ACCELEROMETER**. | | callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | One-shot callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.LINEAR_ACCELEROMETER, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### MAGNETIC_FIELD9+ once(type: SensorId.MAGNETIC_FIELD, callback: Callback<MagneticFieldResponse>): void Subscribes to data of the magnetic field sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **MAGNETIC_FIELD**. | | callback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes | One-shot callback used to return the magnetic field sensor data. The reported data type in the callback is **MagneticFieldResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.MAGNETIC_FIELD, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### MAGNETIC_FIELD_UNCALIBRATED9+ once(type: SensorId.MAGNETIC_FIELD_UNCALIBRATED, callback: Callback<MagneticFieldUncalibratedResponse>): void Subscribes to data of the uncalibrated magnetic field sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **MAGNETIC_FIELD_UNCALIBRATED**. | | callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes | One-shot callback used to return the uncalibrated magnetic field sensor data. The reported data type in the callback is **MagneticFieldUncalibratedResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### ORIENTATION9+ once(type: SensorId.ORIENTATION, callback: Callback<OrientationResponse>): void Subscribes to data of the orientation sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **ORIENTATION**. | | callback | Callback<[OrientationResponse](#orientationresponse)> | Yes | One-shot callback used to return the orientation sensor data. The reported data type in the callback is **OrientationResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.ORIENTATION, function(data) { console.info('The device rotates at an angle around the X axis: ' + data.beta); console.info('The device rotates at an angle around the Y axis: ' + data.gamma); console.info('The device rotates at an angle around the Z axis: ' + data.alpha); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### PEDOMETER9+ once(type: SensorId.PEDOMETER, callback: Callback<PedometerResponse>): void Subscribes to data of the pedometer sensor once. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **PEDOMETER**. | | callback | Callback<[PedometerResponse](#pedometerresponse)> | Yes | One-shot callback used to return the pedometer sensor data. The reported data type in the callback is **PedometerResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.PEDOMETER, function(data) { console.info('Steps: ' + data.steps); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### PEDOMETER_DETECTION9+ once(type: SensorId.PEDOMETER_DETECTION, callback: Callback<PedometerDetectionResponse>): void Subscribe to data of the pedometer detection sensor once. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **PEDOMETER_DETECTION**. | | callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | Yes | One-shot callback used to return the pedometer detection sensor data. The reported data type in the callback is **PedometerDetectionResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.PEDOMETER_DETECTION, function(data) { console.info('Scalar data: ' + data.scalar); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### PROXIMITY9+ once(type: SensorId.PROXIMITY, callback: Callback<ProximityResponse>): void Subscribes to data of the proximity sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **PROXIMITY**. | | callback | Callback<[ProximityResponse](#proximityresponse)> | Yes | One-shot callback used to return the proximity sensor data. The reported data type in the callback is **ProximityResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.PROXIMITY, function(data) { console.info('Distance: ' + data.distance); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### ROTATION_VECTOR9+ once(type: SensorId.ROTATION_VECTOR, callback: Callback<RotationVectorResponse>): void Subscribes to data of the rotation vector sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **ROTATION_VECTOR**. | | callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | Yes | One-shot callback used to return the rotation vector sensor data. The reported data type in the callback is **RotationVectorResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.ROTATION_VECTOR, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('Scalar quantity: ' + data.w); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### SIGNIFICANT_MOTION9+ once(type: SensorId.SIGNIFICANT_MOTION, callback: Callback<SignificantMotionResponse>): void Subscribes to data of the significant motion sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **SIGNIFICANT_MOTION**. | | callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | Yes | One-shot callback used to return the significant motion sensor data. The reported data type in the callback is **SignificantMotionResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.SIGNIFICANT_MOTION, function(data) { console.info('Scalar data: ' + data.scalar); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### WEAR_DETECTION9+ once(type: SensorId.WEAR_DETECTION, callback: Callback<WearDetectionResponse>): void Subscribes to data of the wear detection sensor once. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to subscribe to, which is **WEAR_DETECTION**. | | callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | Yes | One-shot callback used to return the wear detection sensor data. The reported data type in the callback is **WearDetectionResponse**.| **Error code** For details about the following error codes, see [Error Codes of ohos.sensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.once(sensor.SensorId.WEAR_DETECTION, function(data) { console.info("Wear status: "+ data.value); } ); } catch(err) { console.info('once fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ## sensor.off9+ ### ACCELEROMETER9+ off(type: SensorId.ACCELEROMETER, callback?: Callback<AccelerometerResponse>): void Unsubscribes from data of the acceleration sensor. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **ACCELEROMETER**. | | callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | Yes | Callback used to return the acceleration sensor data. The reported data type in the callback is **AccelerometerResponse**.| **Example** ```js try { function callback(data) { console.info('x-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorId.ACCELEROMETER, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### ACCELEROMETER_UNCALIBRATED9+ off(type: SensorId.ACCELEROMETER_UNCALIBRATED, callback?: Callback<AccelerometerUncalibratedResponse>): void Unsubscribes from data of the uncalibrated acceleration sensor. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **ACCELEROMETER_UNCALIBRATED**.| | callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes | Callback used to return the uncalibrated acceleration sensor data. The reported data type in the callback is **AccelerometerUncalibratedResponse**.| **Example** ```js try { function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } sensor.off(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### AMBIENT_LIGHT9+ off(type: SensorId.AMBIENT_LIGHT, callback?: Callback<LightResponse>): void Unsubscribes from data of the ambient light sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **AMBIENT_LIGHT**. | | callback | Callback<[LightResponse](#lightresponse)> | Yes | Callback used to return the ambient light sensor data. The reported data type in the callback is **LightResponse**.| **Example** ```js try { function callback(data) { console.info('Illumination: ' + data.intensity); } sensor.off(sensor.SensorId.AMBIENT_LIGHT, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### AMBIENT_TEMPERATURE9+ off(type: SensorId.AMBIENT_TEMPERATURE, callback?: Callback<AmbientTemperatureResponse>): void Unsubscribes from data of the ambient temperature sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **AMBIENT_TEMPERATURE**. | | callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes | Callback used to return the ambient temperature sensor data. The reported data type in the callback is **AmbientTemperatureResponse**.| **Example** ```js try { function callback(data) { console.info('Temperature: ' + data.temperature); } sensor.off( sensor.SensorId.AMBIENT_TEMPERATURE, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### BAROMETER9+ off(type: SensorId.BAROMETER, callback?: Callback<BarometerResponse>): void Unsubscribes from data of the barometer sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **BAROMETER**. | | callback | Callback<[BarometerResponse](#barometerresponse)> | Yes | Callback used to return the barometer sensor data. The reported data type in the callback is **BarometerResponse**.| **Example** ```js try { function callback(data) { console.info('Atmospheric pressure: ' + data.pressure); } sensor.off(sensor.SensorId.BAROMETER, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### GRAVITY9+ off(type: SensorId.GRAVITY, callback?: Callback<GravityResponse>): void Unsubscribes from data of the gravity sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **GRAVITY**. | | callback | Callback<[GravityResponse](#gravityresponse)> | Yes | Callback used to return the gravity sensor data. The reported data type in the callback is **GravityResponse**.| **Example** ```js try { function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off( sensor.SensorId.GRAVITY, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### GYROSCOPE9+ off(type: SensorId.GYROSCOPE, callback?: Callback<GyroscopeResponse>): void Unsubscribes from data of the gyroscope sensor. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **GYROSCOPE**. | | callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | Yes | Callback used to return the gyroscope sensor data. The reported data type in the callback is **GyroscopeResponse**.| **Example** ```js try { function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorId.GYROSCOPE, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### GYROSCOPE_UNCALIBRATED9+ off(type: SensorId.GYROSCOPE_UNCALIBRATED, callback?: Callback<GyroscopeUncalibratedResponse>): void Unsubscribes from data of the uncalibrated gyroscope sensor. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **GYROSCOPE_UNCALIBRATED**.| | callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes | Callback used to return the uncalibrated gyroscope sensor data. The reported data type in the callback is **GyroscopeUncalibratedResponse**.| **Example** ```js try { function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorId.GYROSCOPE_UNCALIBRATED, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### HALL9+ off(type: SensorId.HALL, callback?: Callback<HallResponse>): void Unsubscribes from data of the Hall effect sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **HALL**. | | callback | Callback<[HallResponse](#hallresponse)> | Yes | Callback used to return the Hall effect sensor data. The reported data type in the callback is **HallResponse**.| **Example** ```js try { function callback(data) { console.info('Status: ' + data.status); } sensor.off(sensor.SensorId.HALL, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### HEART_RATE9+ off(type: SensorId.HEART_RATE, callback?: Callback<HeartRateResponse>): void Unsubscribes from data of the heart rate sensor. **Required permissions**: ohos.permission.READ_HEALTH_DATA **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **HEART_RATE**. | | callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | One-shot callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**.| **Example** ```js try { function callback(data) { console.info("Heart rate: " + data.heartRate); } sensor.off(sensor.SensorId.HEART_RATE, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### HUMIDITY9+ off(type: SensorId.HUMIDITY, callback?: Callback<HumidityResponse>): void Unsubscribes from data of the humidity sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **HUMIDITY**. | | callback | Callback<[HumidityResponse](#humidityresponse)> | Yes | Callback used to return the humidity sensor data. The reported data type in the callback is **HumidityResponse**.| **Example** ```js try { function callback(data) { console.info('Humidity: ' + data.humidity); } sensor.off(sensor.SensorId.HUMIDITY, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### LINEAR_ACCELEROMETER9+ off(type: SensorId.LINEAR_ACCELEROMETER, callback?: Callback<LinearAccelerometerResponse>): void Unsubscribes from data of the linear acceleration sensor. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **LINEAR_ACCELERATION**. | | callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | Callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**.| **Example** ```js try { function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorId.LINEAR_ACCELEROMETER, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### MAGNETIC_FIELD9+ off(type: SensorId.MAGNETIC_FIELD, callback?: Callback<MagneticFieldResponse>): void Unsubscribes from data of the magnetic field sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **MAGNETIC_FIELD**. | | callback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes | Callback used to return the magnetic field sensor data. The reported data type in the callback is **MagneticFieldResponse**.| **Example** ```js try { function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorId.MAGNETIC_FIELD, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### MAGNETIC_FIELD_UNCALIBRATED9+ off(type: SensorId.MAGNETIC_FIELD_UNCALIBRATED, callback?: Callback<MagneticFieldUncalibratedResponse>): void Unsubscribes from data of the uncalibrated magnetic field sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **MAGNETIC_FIELD_UNCALIBRATED**.| | callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes | Callback used to return the uncalibrated magnetic field sensor data. The reported data type in the callback is **MagneticFieldUncalibratedResponse**.| **Example** ```js try { function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } sensor.off(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### ORIENTATION9+ off(type: SensorId.ORIENTATION, callback?: Callback<OrientationResponse>): void Unsubscribes from data of the orientation sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **ORIENTATION**. | | callback | Callback<[OrientationResponse](#orientationresponse)> | Yes | Callback used to return the orientation sensor data. The reported data type in the callback is **OrientationResponse**.| **Example** ```js try { function callback(data) { console.info('The device rotates at an angle around the X axis: ' + data.beta); console.info('The device rotates at an angle around the Y axis: ' + data.gamma); console.info('The device rotates at an angle around the Z axis: ' + data.alpha); } sensor.off(sensor.SensorId.ORIENTATION, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### PEDOMETER9+ off(type: SensorId.PEDOMETER, callback?: Callback<PedometerResponse>): void Unsubscribes from data of the pedometer sensor. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **PEDOMETER**. | | callback | Callback<[PedometerResponse](#pedometerresponse)> | Yes | Callback used to return the pedometer sensor data. The reported data type in the callback is **PedometerResponse**.| **Example** ```js try { function callback(data) { console.info('Steps: ' + data.steps); } sensor.off(sensor.SensorId.PEDOMETER, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### PEDOMETER_DETECTION9+ off(type: SensorId.PEDOMETER_DETECTION, callback?: Callback<PedometerDetectionResponse>): void Unsubscribes from data of the pedometer detection sensor. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **PEDOMETER_DETECTION**. | | callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | Yes | Callback used to return the pedometer detection sensor data. The reported data type in the callback is **PedometerDetectionResponse**.| **Example** ```js try { function callback(data) { console.info('Scalar data: ' + data.scalar); } sensor.off(sensor.SensorId.PEDOMETER_DETECTION, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### PROXIMITY9+ off(type: SensorId.PROXIMITY, callback?: Callback<ProximityResponse>): void Unsubscribes from data of the proximity sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **PROXIMITY**. | | callback | Callback<[ProximityResponse](#proximityresponse)> | Yes | Callback used to return the proximity sensor data. The reported data type in the callback is **ProximityResponse**.| **Example** ```js try { function callback(data) { console.info('Distance: ' + data.distance); } sensor.off(sensor.SensorId.PROXIMITY, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### ROTATION_VECTOR9+ off(type: SensorId.ROTATION_VECTOR, callback?: Callback<RotationVectorResponse>): void Unsubscribes from data of the rotation vector sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **ROTATION_VECTOR**. | | callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | Yes | Callback used to return the rotation vector sensor data. The reported data type in the callback is **RotationVectorResponse**.| **Example** ```js try { function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('Scalar quantity: ' + data.w); } sensor.off(sensor.SensorId.ROTATION_VECTOR, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### SIGNIFICANT_MOTION9+ off(type: SensorId.SIGNIFICANT_MOTION, callback?: Callback<SignificantMotionResponse>): void Unsubscribes from data of the significant motion sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **SIGNIFICANT_MOTION**. | | callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | Yes | Callback used to return the significant motion sensor data. The reported data type in the callback is **SignificantMotionResponse**.| **Example** ```js try { function callback(data) { console.info('Scalar data: ' + data.scalar); } sensor.off(sensor.SensorId.SIGNIFICANT_MOTION, callback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ### WEAR_DETECTION9+ off(type: SensorId.WEAR_DETECTION, callback?: Callback<WearDetectionResponse>): void Unsubscribes from data of the wear detection sensor. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | [SensorId](#sensorid9) | Yes | Type of the sensor to unsubscribe from, which is **WEAR_DETECTION**. | | callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | Yes | Callback used to return the wear detection sensor data. The reported data type in the callback is **WearDetectionResponse**.| **Example** ```js try { function accCallback(data) { console.info('Wear status: ' + data.value); } sensor.off(sensor.SensorId.WEAR_DETECTION, accCallback); } catch(err) { console.info('off fail, errCode: ' + err.code + ' ,msg: ' + err.message); } ``` ## sensor.getGeomagneticInfo9+ getGeomagneticInfo(locationOptions: LocationOptions, timeMillis: number, callback: AsyncCallback<GeomagneticResponse>): void Obtains the geomagnetic field of a geographic location. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | --------------- | ------------------------------------------------------------ | ---- | ---------------------------------- | | locationOptions | [LocationOptions](#locationoptions) | Yes | Geographic location. | | timeMillis | number | Yes | Time for obtaining the magnetic declination, in milliseconds.| | callback | AsyncCallback<[GeomagneticResponse](#geomagneticresponse)> | Yes | Callback used to return the geomagnetic field. | **Error code** For details about the following error codes, see [Error Codes of sensor.getGeomagneticInfo](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getGeomagneticInfo({latitude:80, longitude:0, altitude:0}, 1580486400000, function(data) { console.info('sensor_getGeomagneticInfo_callback x: ' + data.x + ',y: ' + data.y + ',z: ' + data.z + ',geomagneticDip: ' + data.geomagneticDip + ',deflectionAngle: ' + data.deflectionAngle + ',levelIntensity: ' + data.levelIntensity + ',totalIntensity: ' + data.totalIntensity); }); } catch (err) { console.error('getGeomagneticInfo failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getGeomagneticInfo9+ getGeomagneticInfo(locationOptions: LocationOptions, timeMillis: number): Promise<GeomagneticResponse> Obtains the geomagnetic field of a geographic location. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | --------------- | ----------------------------------- | ---- | ---------------------------------- | | locationOptions | [LocationOptions](#locationoptions) | Yes | Geographic location. | | timeMillis | number | Yes | Time for obtaining the magnetic declination, in milliseconds.| **Return value** | Type | Description | | ---------------------------------------------------------- | -------------- | | Promise<[GeomagneticResponse](#geomagneticresponse)> | Promise used to return the geomagnetic field.| **Error code** For details about the following error codes, see [Error Codes of sensor.getGeomagneticInfo](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { const promise = sensor.getGeomagneticInfo({latitude:80, longitude:0, altitude:0}, 1580486400000); promise.then((data) => { console.info('sensor_getGeomagneticInfo_promise x: ' + data.x + ',y: ' + data.y + ',z: ' + data.z + ',geomagneticDip: ' + data.geomagneticDip + ',deflectionAngle: ' + data.deflectionAngle + ',levelIntensity: ' + data.levelIntensity + ',totalIntensity: ' + data.totalIntensity); }).catch((reason) => { console.info('Operation failed.'); }) } catch (err) { console.error('getGeomagneticInfo failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getDeviceAltitude9+ getDeviceAltitude(seaPressure: number, currentPressure: number, callback: AsyncCallback<number>): void Obtains the altitude at which the device is located based on the sea-level atmospheric pressure and the current atmospheric pressure. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | --------------- | --------------------------- | ---- | ------------------------------------- | | seaPressure | number | Yes | Sea-level atmospheric pressure, in hPa. | | currentPressure | number | Yes | Atmospheric pressure at the altitude where the device is located, in hPa.| | callback | AsyncCallback<number> | Yes | Callback used to return the altitude, in meters. | **Error code** For details about the following error codes, see [Error Codes of sensor.getDeviceAltitude](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getDeviceAltitude(0, 200, function(data) { console.info('Successed to get getDeviceAltitude interface get data: ' + data); }); } catch (err) { console.error('getDeviceAltitude failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getDeviceAltitude9+ getDeviceAltitude(seaPressure: number, currentPressure: number): Promise<number> Obtains the altitude at which the device is located based on the sea-level atmospheric pressure and the current atmospheric pressure. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | --------------- | ------ | ---- | ------------------------------------- | | seaPressure | number | Yes | Sea-level atmospheric pressure, in hPa. | | currentPressure | number | Yes | Atmospheric pressure at the altitude where the device is located, in hPa.| **Return value** | Type | Description | | --------------------- | ------------------------------------ | | Promise<number> | Promise used to return the altitude, in meters.| **Error code** For details about the following error codes, see [Error Codes of sensor.getDeviceAltitude](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { const promise = sensor.getDeviceAltitude (0, 200); promise.then((data) => { console.info('sensor_getDeviceAltitude_Promise success', data); }).catch((err) => { console.error("Operation failed"); }) } catch (err) { console.error('getDeviceAltitude failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getInclination9+ getInclination(inclinationMatrix: Array<number>, callback: AsyncCallback<number>): void Obtains the magnetic dip based on the inclination matrix. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | ----------------- | --------------------------- | ---- | ---------------------------- | | inclinationMatrix | Array<number> | Yes | Inclination matrix. | | callback | AsyncCallback<number> | Yes | Callback used to return the magnetic dip, in radians.| **Error code** For details about the following error codes, see [Error Codes of sensor.getInclination](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getInclination ([1, 0, 0, 0, 1, 0, 0, 0, 1], function(data) { console.info('Successed to get getInclination interface get data: ' + data); }) } catch (err) { console.error('getInclination failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getInclination9+ getInclination(inclinationMatrix: Array<number>): Promise<number> Obtains the magnetic dip based on the inclination matrix. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | ----------------- | ------------------- | ---- | -------------- | | inclinationMatrix | Array<number> | Yes | Inclination matrix.| **Return value** | Type | Description | | --------------------- | ---------------------------- | | Promise<number> | Promise used to return the magnetic dip, in radians.| **Error code** For details about the following error codes, see [Error Codes of sensor.getInclination](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { const promise = sensor.getInclination ([1, 0, 0, 0, 1, 0, 0, 0, 1]); promise.then((data) => { console.info('getInclination_promise successed', data); }).catch((err) => { console.error("Operation failed"); }) } catch (err) { console.error('getInclination failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getAngleVariation9+ getAngleVariation(currentRotationMatrix: Array<number>, preRotationMatrix: Array<number>, callback: AsyncCallback): void Obtains the angle change between two rotation matrices. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | --------------------- | ---------------------------------------- | ---- | --------------------------------- | | currentRotationMatrix | Array<number> | Yes | Current rotation matrix. | | preRotationMatrix | Array<number> | Yes | The other rotation matrix. | | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the angle change around the z, x, and y axes.| **Error code** For details about the following error codes, see [Error Codes of sensor.getAngleVariation](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getAngleVariation([1,0,0,0,1,0,0,0,1], [1, 0, 0, 0, 0.87, -0.50, 0, 0.50, 0.87], function(data) { for (var i=0; i < data.length; i++) { console.info("data[" + i + "]: " + data[i]); } }) } catch (err) { console.error('getAngleVariation failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getAngleVariation9+ getAngleVariation(currentRotationMatrix: Array<number>, preRotationMatrix: Array<number>): Promise Obtains the angle change between two rotation matrices. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | --------------------- | ------------------- | ---- | ------------------ | | currentRotationMatrix | Array<number> | Yes | Current rotation matrix.| | preRotationMatrix | Array<number> | Yes | The other rotation matrix. | **Return value** | Type | Description | | ---------------------------------- | --------------------------------- | | Promise<Array<number>> | Promise used to return the angle change around the z, x, and y axes.| **Error code** For details about the following error codes, see [Error Codes of sensor.getAngleVariation](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { const promise = sensor.getAngleVariation([1,0,0,0,1,0,0,0,1], [1,0,0,0,0.87,-0.50,0,0.50,0.87]); promise.then((data) => { for (var i=0; i < data.length; i++) { console.info('data[' + i + ']: ' + data[i]); } }).catch((reason) => { console.info('promise::catch ', reason); }) } catch (err) { console.error('getAngleVariation failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getRotationMatrix9+ getRotationMatrix(rotationVector: Array<number>, callback: AsyncCallback): void Obtains the rotation matrix from a rotation vector. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------------- | ---------------------------------------- | ---- | -------------- | | rotationVector | Array<number> | Yes | Rotation vector.| | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the rotation matrix.| **Error code** For details about the following error codes, see [Error Codes of sensor.getRotationMatrix](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877], function(data) { for (var i=0; i < data.length; i++) { console.info('data[' + i + ']: ' + data[i]); } }) } catch (err) { console.error('getRotationMatrix failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getRotationMatrix9+ getRotationMatrix(rotationVector: Array<number>): Promise Obtains the rotation matrix from a rotation vector. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------------- | ------------------- | ---- | -------------- | | rotationVector | Array<number> | Yes | Rotation vector.| **Return value** | Type | Description | | ---------------------------------- | -------------- | | Promise<Array<number>> | Promise used to return the rotation matrix.| **Error code** For details about the following error codes, see [Error Codes of sensor.getRotationMatrix](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { const promise = sensor.getRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877]); promise.then((data) => { for (var i=0; i < data.length; i++) { console.info('data[' + i + ']: ' + data[i]); } }).catch((reason) => { console.info('promise::catch ', reason); }) } catch (err) { console.error('getRotationMatrix failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.transformRotationMatrix9+ transformRotationMatrix(inRotationVector: Array<number>, coordinates: CoordinatesOptions, callback: AsyncCallback): void Rotates a rotation vector so that it can represent the coordinate system in different ways. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | ---------------- | ----------------------------------------- | ---- | ---------------------- | | inRotationVector | Array<number> | Yes | Rotation vector to rotate. | | coordinates | [CoordinatesOptions](#coordinatesoptions) | Yes | Direction of the coordinate system. | | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the rotation vector after being rotated.| **Error code** For details about the following error codes, see [Error Codes of sensor.transformRotationMatrix](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.transformRotationMatrix([1, 0, 0, 0, 1, 0, 0, 0, 1], {x:2, y:3}, function(data) { for (var i=0; i < data.length; i++) { console.info('transformRotationMatrix data[' + i + '] = ' + data[i]); } }) } catch (err) { console.error('transformRotationMatrix failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.transformRotationMatrix9+ transformRotationMatrix(inRotationVector: Array<number>, coordinates: CoordinatesOptions): Promise Rotates a rotation vector so that it can represent the coordinate system in different ways. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | ---------------- | ----------------------------------------- | ---- | ---------------- | | inRotationVector | Array<number> | Yes | Rotation vector to rotate. | | coordinates | [CoordinatesOptions](#coordinatesoptions) | Yes | Direction of the coordinate system.| **Return value** | Type | Description | | ---------------------------------- | ---------------------- | | Promise<Array<number>> | Promise used to return the rotation vector after being rotated.| **Error code** For details about the following error codes, see [Error Codes of sensor.transformRotationMatrix](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { const promise = sensor.transformRotationMatrix([1, 0, 0, 0, 1, 0, 0, 0, 1], {x:2, y:3}); promise.then((data) => { for (var i=0; i < data.length; i++) { console.info('transformRotationMatrix data[' + i + '] = ' + data[i]); } }).catch((err) => { console.info("Operation failed"); }) } catch (err) { console.error('transformRotationMatrix failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getQuaternion9+ getQuaternion(rotationVector: Array<number>, callback: AsyncCallback): void Obtains the quaternion from a rotation vector. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------------- | ---------------------------------------- | ---- | -------------- | | rotationVector | Array<number> | Yes | Rotation vector.| | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the quaternion. | **Error code** For details about the following error codes, see [Error Codes of sensor.getQuaternion](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getQuaternion ([0.20046076, 0.21907, 0.73978853, 0.60376877], function(data) { for (var i=0; i < data.length; i++) { console.info('data[' + i + ']: ' + data[i]); } }) } catch (err) { console.error('getQuaternion failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getQuaternion9+ getQuaternion(rotationVector: Array<number>): Promise Obtains the quaternion from a rotation vector. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------------- | ------------------- | ---- | -------------- | | rotationVector | Array<number> | Yes | Rotation vector.| **Return value** | Type | Description | | ---------------------------------- | ------------ | | Promise<Array<number>> | Callback used to return the quaternion.| **Error code** For details about the following error codes, see [Error Codes of sensor.getQuaternion](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { const promise = sensor.getQuaternion([0.20046076, 0.21907, 0.73978853, 0.60376877]); promise.then((data) => { console.info('getQuaternionn_promise successed'); for (var i=0; i < data.length; i++) { console.info('data[' + i + ']: ' + data[i]); } }).catch((err) => { console.info('promise failed'); }) } catch (err) { console.error('getQuaternion failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getOrientation9+ getOrientation(rotationMatrix: Array<number>, callback: AsyncCallback): void Obtains the device direction based on the rotation matrix. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------------- | ---------------------------------------- | ---- | --------------------------------- | | rotationMatrix | Array<number> | Yes | Rotation matrix. | | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the rotation angle around the z, x, and y axes.| **Error code** For details about the following error codes, see [Error Codes of sensor.getOrientation](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getOrientation([1, 0, 0, 0, 1, 0, 0, 0, 1], function(data) { console.info("SensorJsAPI--->Successed to get getOrientation interface get data: " + data); for (var i = 1; i < data.length; i++) { console.info('sensor_getOrientation_callback ' + data[i]); } }) } catch (err) { console.error('getOrientation failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getOrientation9+ getOrientation(rotationMatrix: Array<number>): Promise Obtains the device direction based on the rotation matrix. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------------- | ------------------- | ---- | -------------- | | rotationMatrix | Array<number> | Yes | Rotation matrix.| **Return value** | Type | Description | | ---------------------------------- | --------------------------------- | | Promise<Array<number>> | Promise used to return the rotation angle around the z, x, and y axes.| **Error code** For details about the following error codes, see [Error Codes of sensor.getOrientation](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { const promise = sensor.getOrientation([1, 0, 0, 0, 1, 0, 0, 0, 1]); promise.then((data) => { console.info('sensor_getOrientation_Promise success', data); for (var i = 1; i < data.length; i++) { console.info('sensor_getOrientation_promise ' + data[i]); } }).catch((err) => { console.info('promise failed'); }) } catch (err) { console.error('getOrientation failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getRotationMatrix9+ getRotationMatrix(gravity: Array<number>, geomagnetic: Array<number>, callback: AsyncCallback<RotationMatrixResponse>): void Obtains the rotation matrix based on a gravity vector and geomagnetic vector. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------------------------------------------------------------ | ---- | -------------- | | gravity | Array<number> | Yes | Gravity vector.| | geomagnetic | Array<number> | Yes | Geomagnetic vector.| | callback | AsyncCallback<[RotationMatrixResponse](#rotationmatrixresponse)> | Yes | Callback used to return the rotation matrix.| **Error code** For details about the following error codes, see [Error Codes of sensor.getRotationMatrix](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getRotationMatrix ([-0.27775216, 0.5351276, 9.788099], [210.87253, -78.6096, -111.44444], function(data) { console.info('sensor_getRotationMatrix_callback ' + JSON.stringify(data)); }) } catch (err) { console.error('getRotationMatrix failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getRotationMatrix9+ getRotationMatrix(gravity: Array<number>, geomagnetic: Array<number>,): Promise<RotationMatrixResponse> Obtains the rotation matrix based on a gravity vector and geomagnetic vector. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------------------- | ---- | -------------- | | gravity | Array<number> | Yes | Gravity vector.| | geomagnetic | Array<number> | Yes | Geomagnetic vector.| **Return value** | Type | Description | | ------------------------------------------------------------ | -------------- | | Promise<[RotationMatrixResponse](#rotationmatrixresponse)> | Promise used to return the rotation matrix.| **Error code** For details about the following error codes, see [Error Codes of sensor.getRotationMatrix](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { const promise = sensor.getRotationMatrix ([-0.27775216, 0.5351276, 9.788099], [210.87253, -78.6096, -111.44444]); promise.then((data) => { console.info('sensor_getRotationMatrix_callback ' + JSON.stringify(data)); }).catch((err) => { console.info('promise failed'); }) } catch (err) { console.error('getRotationMatrix failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getSensorList9+ getSensorList(callback: AsyncCallback): void Obtains information about all sensors on the device. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------------------------- | ---- | ---------------- | | callback | AsyncCallback | Yes | Callback used to return the sensor list.| **Error code** For details about the following error codes, see [Error Codes of sensor.getSensorList](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getSensorList((data) => { console.info('getSensorList callback in ' + data.length); for (var i = 0; i < data.length; i++) { console.info("getSensorList " + JSON.stringify(data[i])); } }); } catch (err) { console.error('getSensorList failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getSensorList9+ getSensorList(): Promise< Array<Sensor>> Obtains information about all sensors on the device. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Return value** | Name | Type | Mandatory| Description | | ------- | ---------------------------------------- | ---- | ---------------- | | promise | Promise | Yes | Promise used to return the sensor list.| **Error code** For details about the following error codes, see [Error Codes of sensor.getSensorList](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getSensorList().then((data) => { console.info('getSensorList promise in ' + data.length); for (var i = 0; i < data.length; i++) { console.info("getSensorList " + JSON.stringify(data[i])); } }, (error)=>{ console.error('getSensorList failed'); }); } catch (err) { console.error('getSensorList failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getSingleSensor9+ getSingleSensor(type: SensorId, callback: AsyncCallback<Sensor>): void Obtains information about the sensor of a specific type. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------- | ---- | ---------------- | | type | [SensorId](#sensorid9) | Yes | Sensor type. | | callback | AsyncCallback<[Sensor](#sensor9)> | Yes | Callback used to return the sensor information.| **Error code** For details about the following error codes, see [Error Codes of sensor.getSingleSensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getSingleSensor(sensor.SensorId.SENSOR_TYPE_ID_ACCELEROMETER, (error, data) => { console.info('getSingleSensor ' + JSON.stringify(data)); }); } catch (err) { console.error('getSingleSensor failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## sensor.getSingleSensor9+ getSingleSensor(type: SensorId): Promise<Sensor> Obtains information about the sensor of a specific type. This API uses a promise to return the result. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name| Type | Mandatory| Description | | ------ | ---------------------- | ---- | ------------ | | type | [SensorId](#sensorid9) | Yes | Sensor type.| **Return value** | Name | Type | Mandatory| Description | | ------- | --------------------------------- | ---- | ---------------- | | promise | Promise<[Sensor](#sensor9)> | Yes | Promise used to return the sensor information.| **Error code** For details about the following error codes, see [Error Codes of sensor.getSingleSensor](../errorcodes/errorcode-sensor.md). | Error Code ID| Error Message | | -------- | ------------------ | | 14500101 | Service exception. | **Example** ```js try { sensor.getSingleSensor(sensor.SensorId.SENSOR_TYPE_ID_ACCELEROMETER).then((data) => { console.info('getSingleSensor '+ JSON.stringify(data)); }, (error)=>{ console.error('getSingleSensor failed'); }); } catch (err) { console.error('getSingleSensor failed. Error code: ' + err.code + '; message: ' + err.message); } ``` ## SensorId9+ Enumerates the sensor types. **System capability**: SystemCapability.Sensors.Sensor | Name | Default Value| Description | | --------------------------- | ------ | ---------------------- | | ACCELEROMETER | 1 | Acceleration sensor. | | GYROSCOPE | 2 | Gyroscope sensor. | | AMBIENT_LIGHT | 5 | Ambient light sensor. | | MAGNETIC_FIELD | 6 | Magnetic field sensor. | | BAROMETER | 8 | Barometer sensor. | | HALL | 10 | Hall effect sensor. | | PROXIMITY | 12 | Proximity sensor. | | HUMIDITY | 13 | Humidity sensor. | | ORIENTATION | 256 | Orientation sensor. | | GRAVITY | 257 | Gravity sensor. | | LINEAR_ACCELEROMETER | 258 | Linear acceleration sensor. | | ROTATION_VECTOR | 259 | Rotation vector sensor. | | AMBIENT_TEMPERATURE | 260 | Ambient temperature sensor. | | MAGNETIC_FIELD_UNCALIBRATED | 261 | Uncalibrated magnetic field sensor. | | GYROSCOPE_UNCALIBRATED | 263 | Uncalibrated gyroscope sensor. | | SIGNIFICANT_MOTION | 264 | Significant motion sensor. | | PEDOMETER_DETECTION | 265 | Pedometer detection sensor. | | PEDOMETER | 266 | Pedometer sensor. | | HEART_RATE | 278 | Heart rate sensor. | | WEAR_DETECTION | 280 | Wear detection sensor. | | ACCELEROMETER_UNCALIBRATED | 281 | Uncalibrated acceleration sensor.| ## SensorType(deprecated) Enumerates the sensor types. **System capability**: SystemCapability.Sensors.Sensor | Name | Default Value| Description | | ------------------------------------------ | ------ | ---------------------- | | SENSOR_TYPE_ID_ACCELEROMETER | 1 | Acceleration sensor. | | SENSOR_TYPE_ID_GYROSCOPE | 2 | Gyroscope sensor. | | SENSOR_TYPE_ID_AMBIENT_LIGHT | 5 | Ambient light sensor. | | SENSOR_TYPE_ID_MAGNETIC_FIELD | 6 | Magnetic field sensor. | | SENSOR_TYPE_ID_BAROMETER | 8 | Barometer sensor. | | SENSOR_TYPE_ID_HALL | 10 | Hall effect sensor. | | SENSOR_TYPE_ID_PROXIMITY | 12 | Proximity sensor. | | SENSOR_TYPE_ID_HUMIDITY | 13 | Humidity sensor. | | SENSOR_TYPE_ID_ORIENTATION | 256 | Orientation sensor. | | SENSOR_TYPE_ID_GRAVITY | 257 | Gravity sensor. | | SENSOR_TYPE_ID_LINEAR_ACCELERATION | 258 | Linear acceleration sensor. | | SENSOR_TYPE_ID_ROTATION_VECTOR | 259 | Rotation vector sensor. | | SENSOR_TYPE_ID_AMBIENT_TEMPERATURE | 260 | Ambient temperature sensor. | | SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED | 261 | Uncalibrated magnetic field sensor. | | SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED | 263 | Uncalibrated gyroscope sensor. | | SENSOR_TYPE_ID_SIGNIFICANT_MOTION | 264 | Significant motion sensor. | | SENSOR_TYPE_ID_PEDOMETER_DETECTION | 265 | Pedometer detection sensor. | | SENSOR_TYPE_ID_PEDOMETER | 266 | Pedometer sensor. | | SENSOR_TYPE_ID_HEART_RATE | 278 | Heart rate sensor. | | SENSOR_TYPE_ID_WEAR_DETECTION | 280 | Wear detection sensor. | | SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED | 281 | Uncalibrated acceleration sensor.| ## Response Describes the timestamp of the sensor data. **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | --------- | -------- | ---- | ---- | ------------------------ | | timestamp | number | Yes | Yes | Timestamp when the sensor reports data.| ## Sensor9+ Describes the sensor information. **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Description | | --------------- | -------- | ---------------------- | | sensorName | string | Sensor name. | | venderName | string | Vendor of the sensor. | | firmwareVersion | string | Firmware version of the sensor. | | hardwareVersion | string | Hardware version of the sensor. | | sensorId | number | Sensor type ID. | | maxRange | number | Maximum measurement range of the sensor.| | minSamplePeriod | number | Minimum sampling period. | | maxSamplePeriod | number | Maximum sampling period. | | precision | number | Precision of the sensor. | | power | number | Power supply of the sensor. | ## AccelerometerResponse Describes the acceleration sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name| Type| Readable| Writable| Description | | ---- | -------- | ---- | ---- | ------------------------------------ | | x | number | Yes | Yes | Acceleration along the x-axis of the device, in m/s2.| | y | number | Yes | Yes | Acceleration along the y-axis of the device, in m/s2.| | z | number | Yes | Yes | Acceleration along the z-axis of the device, in m/s2.| ## LinearAccelerometerResponse Describes the linear acceleration sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name| Type| Readable| Writable| Description | | ---- | -------- | ---- | ---- | ---------------------------------------- | | x | number | Yes | Yes | Linear acceleration along the x-axis of the device, in m/s2.| | y | number | Yes | Yes | Linear acceleration along the y-axis of the device, in m/s2.| | z | number | Yes | Yes | Linear acceleration along the z-axis of the device, in m/s2.| ## AccelerometerUncalibratedResponse Describes the uncalibrated acceleration sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ----- | -------- | ---- | ---- | ------------------------------------------------ | | x | number | Yes | Yes | Uncalibrated acceleration along the x-axis of the device, in m/s2. | | y | number | Yes | Yes | Uncalibrated acceleration along the y-axis of the device, in m/s2. | | z | number | Yes | Yes | Uncalibrated acceleration along the z-axis of the device, in m/s2. | | biasX | number | Yes | Yes | Uncalibrated acceleration bias along the x-axis of the device, in m/s2. | | biasY | number | Yes | Yes | Uncalibrated acceleration bias along the y-axis of the device, in m/s2.| | biasZ | number | Yes | Yes | Uncalibrated acceleration bias along the z-axis of the device, in m/s2. | ## GravityResponse Describes the gravity sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name| Type| Readable| Writable| Description | | ---- | -------- | ---- | ---- | ---------------------------------------- | | x | number | Yes | Yes | Gravitational acceleration along the x-axis of the device, in m/s2.| | y | number | Yes | Yes | Gravitational acceleration along the y-axis of the device, in m/s2.| | z | number | Yes | Yes | Gravitational acceleration along the z-axis of the device, in m/s2.| ## OrientationResponse Describes the orientation sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ----- | -------- | ---- | ---- | --------------------------------- | | alpha | number | Yes | Yes | Rotation angle of the device around the z-axis, in degrees.| | beta | number | Yes | Yes | Rotation angle of the device around the x-axis, in degrees.| | gamma | number | Yes | Yes | Rotation angle of the device around the y-axis, in degrees.| ## RotationVectorResponse Describes the rotation vector sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name| Type| Readable| Writable| Description | | ---- | -------- | ---- | ---- | ----------------- | | x | number | Yes | Yes | X-component of the rotation vector.| | y | number | Yes | Yes | Y-component of the rotation vector.| | z | number | Yes | Yes | Z-component of the rotation vector.| | w | number | Yes | Yes | Scalar. | ## GyroscopeResponse Describes the gyroscope sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name| Type| Readable| Writable| Description | | ---- | -------- | ---- | ---- | -------------------------------- | | x | number | Yes | Yes | Angular velocity of rotation around the x-axis of the device, in rad/s.| | y | number | Yes | Yes | Angular velocity of rotation around the y-axis of the device, in rad/s.| | z | number | Yes | Yes | Angular velocity of rotation around the z-axis of the device, in rad/s.| ## GyroscopeUncalibratedResponse Describes the uncalibrated gyroscope sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ----- | -------- | ---- | ---- | ------------------------------------------ | | x | number | Yes | Yes | Uncalibrated angular velocity of rotation around the x-axis of the device, in rad/s. | | y | number | Yes | Yes | Uncalibrated angular velocity of rotation around the y-axis of the device, in rad/s. | | z | number | Yes | Yes | Uncalibrated angular velocity of rotation around the z-axis of the device, in rad/s. | | biasX | number | Yes | Yes | Uncalibrated angular velocity bias of rotation around the x-axis of the device, in rad/s.| | biasY | number | Yes | Yes | Uncalibrated angular velocity bias of rotation around the y-axis of the device, in rad/s.| | biasZ | number | Yes | Yes | Uncalibrated angular velocity bias of rotation around the z-axis of the device, in rad/s.| ## SignificantMotionResponse Describes the significant motion sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ------ | -------- | ---- | ---- | ------------------------------------------------------------ | | scalar | number | Yes | Yes | Intensity of a motion. This parameter specifies whether a device has a significant motion on three physical axes (X, Y, and Z). The value **0** means that the device does not have a significant motion, and **1** means the opposite.| ## ProximityResponse Describes the proximity sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | -------- | -------- | ---- | ---- | ------------------------------------------------------ | | distance | number | Yes | Yes | Proximity between the visible object and the device monitor. The value **0** means the two are close to each other, and **1** means that they are far away from each other.| ## LightResponse Describes the ambient light sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | --------- | -------- | ---- | ---- | ---------------------- | | intensity | number | Yes | Yes | Illumination, in lux.| ## HallResponse Describes the Hall effect sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ------ | -------- | ---- | ---- | ------------------------------------------------------------ | | status | number | Yes | Yes | Hall effect sensor status. This parameter specifies whether a magnetic field exists around a device. The value **0** means that a magnetic field does not exist, and a value greater than **0** means the opposite.| ## MagneticFieldResponse Describes the magnetic field sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name| Type| Readable| Writable| Description | | ---- | -------- | ---- | ---- | ---------------------------- | | x | number | Yes | Yes | Magnetic field strength on the x-axis, in μT.| | y | number | Yes | Yes | Magnetic field strength on the y-axis, in μT.| | z | number | Yes | Yes | Magnetic field strength on the z-axis, in μT.| ## MagneticFieldUncalibratedResponse Describes the uncalibrated magnetic field sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ----- | -------- | ---- | ---- | -------------------------------------- | | x | number | Yes | Yes | Uncalibrated magnetic field strength on the x-axis, in μT. | | y | number | Yes | Yes | Uncalibrated magnetic field strength on the y-axis, in μT. | | z | number | Yes | Yes | Uncalibrated magnetic field strength on the z-axis, in μT. | | biasX | number | Yes | Yes | Bias of the uncalibrated magnetic field strength on the x-axis, in μT.| | biasY | number | Yes | Yes | Bias of the uncalibrated magnetic field strength on the y-axis, in μT.| | biasZ | number | Yes | Yes | Bias of the uncalibrated magnetic field strength on the z-axis, in μT.| ## PedometerResponse Describes the pedometer sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ----- | -------- | ---- | ---- | ---------------- | | steps | number | Yes | Yes | Number of steps a user has walked.| ## HumidityResponse Describes the humidity sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | -------- | -------- | ---- | ---- | --------------------------------------------------------- | | humidity | number | Yes | Yes | Ambient relative humidity, in a percentage (%).| ## PedometerDetectionResponse Describes the pedometer detection sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ------ | -------- | ---- | ---- | ------------------------------------------------------------ | | scalar | number | Yes | Yes | Pedometer detection. This parameter specifies whether a user takes a step. The value **0** means that the user does not take a step, and **1** means that the user takes a step.| ## AmbientTemperatureResponse Describes the ambient temperature sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ----------- | -------- | ---- | ---- | -------------------------- | | temperature | number | Yes | Yes | Ambient temperature, in degree Celsius.| ## BarometerResponse Describes the barometer sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | -------- | -------- | ---- | ---- | ------------------------ | | pressure | number | Yes | Yes | Atmospheric pressure, in pascal.| ## HeartRateResponse Describes the heart rate sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | --------- | -------- | ---- | ---- | --------------------------------------- | | heartRate | number | Yes | Yes | Heart rate, in beats per minute (bpm).| ## WearDetectionResponse Describes the wear detection sensor data. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | ----- | -------- | ---- | ---- | ------------------------------------------------ | | value | number | Yes | Yes | Whether the device is being worn. The value **1** means that the device is being worn, and **0** means the opposite.| ## Options Describes the sensor data reporting frequency. **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Description | | -------- | -------- | ------------------------------------------- | | interval | number | Frequency at which a sensor reports data. The default value is 200,000,000 ns.| ## RotationMatrixResponse Describes the response for setting the rotation matrix. **System capability**: SystemCapability.Sensors.Sensor | Name | Type | Readable| Writable| Description | | ----------- | ------------------- | ---- | ---- | ---------- | | rotation | Array<number> | Yes | Yes | Rotation matrix.| | inclination | Array<number> | Yes | Yes | Inclination matrix.| ## CoordinatesOptions Describes the coordinate options. **System capability**: SystemCapability.Sensors.Sensor | Name| Type| Readable| Writable| Description | | ---- | -------- | ---- | ---- | ----------- | | x | number | Yes | Yes | X coordinate direction.| | y | number | Yes | Yes | Y coordinate direction.| ## GeomagneticResponse Describes a geomagnetic response object. It extends from [Response](#response). **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | --------------- | -------- | ---- | ---- | -------------------------------------------------- | | x | number | Yes | Yes | North component of the geomagnetic field. | | y | number | Yes | Yes | East component of the geomagnetic field. | | z | number | Yes | Yes | Vertical component of the geomagnetic field. | | geomagneticDip | number | Yes | Yes | Magnetic dip, also called magnetic inclination, which is the angle measured from the horizontal plane to the magnetic field vector. | | deflectionAngle | number | Yes | Yes | Magnetic declination, which is the angle between true north (geographic north) and the magnetic north (the horizontal component of the field).| | levelIntensity | number | Yes | Yes | Horizontal intensity of the magnetic field vector field. | | totalIntensity | number | Yes | Yes | Total intensity of the magnetic field vector. | ## LocationOptions Describes the geographical location. **System capability**: SystemCapability.Sensors.Sensor | Name | Type| Readable| Writable| Description | | --------- | -------- | ---- | ---- | ---------- | | latitude | number | Yes | Yes | Latitude. | | longitude | number | Yes | Yes | Longitude. | | altitude | number | Yes | Yes | Altitude.| ## sensor.on(deprecated) ### ACCELEROMETER(deprecated) on(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback: Callback<AccelerometerResponse>,options?: Options): void Subscribes to data changes of the acceleration sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.ACCELEROMETER](#accelerometer9) instead. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ACCELEROMETER**. | | callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | Yes | Callback used to return the acceleration sensor data. The reported data type in the callback is **AccelerometerResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ### LINEAR_ACCELERATION(deprecated) on(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback<LinearAccelerometerResponse>, options?: Options): void Subscribes to data changes of the linear acceleration sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.LINEAR_ACCELEROMETER](#linear_accelerometer9) instead. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_LINEAR_ACCELERATION**. | | callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | Callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | ### LINEAR_ACCELEROMETER9+ on(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback<LinearAccelerometerResponse>, options?: Options): void Subscribes to data changes of the linear acceleration sensor. If this API is called multiple times for the same application, the last call takes effect. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_LINEAR_ACCELEROMETER**. | | callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | Callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELEROMETER,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ### ACCELEROMETER_UNCALIBRATED(deprecated) on(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback: Callback<AccelerometerUncalibratedResponse>, options?: Options): void Subscribes to data changes of the uncalibrated acceleration sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.ACCELEROMETER_UNCALIBRATED](#accelerometer_uncalibrated9) instead. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED**. | | callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes | Callback used to return the uncalibrated acceleration sensor data. The reported data type in the callback is **AccelerometerUncalibratedResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); }, {interval: 10000000} ); ``` ### GRAVITY(deprecated) on(type: SensorType.SENSOR_TYPE_ID_GRAVITY, callback: Callback<GravityResponse>,options?: Options): void Subscribes to data changes of the gravity sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.GRAVITY](#gravity9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | --------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GRAVITY**. | | callback | Callback<[GravityResponse](#gravityresponse)> | Yes | Callback used to return the gravity sensor data. The reported data type in the callback is **GravityResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ### GYROSCOPE(deprecated) on(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE, callback: Callback<GyroscopeResponse>, options?: Options): void Subscribes to data changes of the gyroscope sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.GYROSCOPE](#gyroscope9) instead. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GYROSCOPE**. | | callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | Yes | Callback used to return the gyroscope sensor data. The reported data type in the callback is **GyroscopeResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ### GYROSCOPE_UNCALIBRATED(deprecated) on(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED,callback:Callback<GyroscopeUncalibratedResponse>, options?: Options): void Subscribes to data changes of the uncalibrated gyroscope sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.GYROSCOPE_UNCALIBRATED](#gyroscope_uncalibrated9) instead. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED**. | | callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes | Callback used to return the uncalibrated gyroscope sensor data. The reported data type in the callback is **GyroscopeUncalibratedResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); }, {interval: 10000000} ); ``` ### SIGNIFICANT_MOTION(deprecated) on(type: SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, callback: Callback<SignificantMotionResponse>, options?: Options): void Subscribes to data changes of the significant motion sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.SIGNIFICANT_MOTION](#significant_motion9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_SIGNIFICANT_MOTION**. | | callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | Yes | Callback used to return the significant motion sensor data. The reported data type in the callback is **SignificantMotionResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION,function(data){ console.info('Scalar data: ' + data.scalar); }, {interval: 10000000} ); ``` ### PEDOMETER_DETECTION(deprecated) on(type: SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, callback: Callback<PedometerDetectionResponse>, options?: Options): void Subscribes to data changes of the pedometer detection sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.PEDOMETER_DETECTION](#pedometer_detection9) instead. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PEDOMETER_DETECTION**. | | callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | Yes | Callback used to return the pedometer detection sensor data. The reported data type in the callback is **PedometerDetectionResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION,function(data){ console.info('Scalar data: ' + data.scalar); }, {interval: 10000000} ); ``` ### PEDOMETER(deprecated) on(type: SensorType.SENSOR_TYPE_ID_PEDOMETER, callback: Callback<PedometerResponse>, options?: Options): void Subscribes to data changes of the pedometer sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.PEDOMETER](#pedometer9) instead. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PEDOMETER**. | | callback | Callback<[PedometerResponse](#pedometerresponse)> | Yes | Callback used to return the pedometer sensor data. The reported data type in the callback is **PedometerResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER,function(data){ console.info('Steps: ' + data.steps); }, {interval: 10000000} ); ``` ### AMBIENT_TEMPERATURE(deprecated) on(type: SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE,callback:Callback<AmbientTemperatureResponse>, options?: Options): void Subscribes to data changes of the ambient temperature sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.AMBIENT_TEMPERATURE](#ambient_temperature9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_AMBIENT_TEMPERATURE**. | | callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes | Callback used to return the ambient temperature sensor data. The reported data type in the callback is **AmbientTemperatureResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE,function(data){ console.info('Temperature: ' + data.temperature); }, {interval: 10000000} ); ``` ### MAGNETIC_FIELD(deprecated) on(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback: Callback<MagneticFieldResponse>,options?: Options): void Subscribes to data changes of the magnetic field sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.MAGNETIC_FIELD](#magnetic_field9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD**. | | callback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes | Callback used to return the magnetic field sensor data. The reported data type in the callback is **MagneticFieldResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); }, {interval: 10000000} ); ``` ### MAGNETIC_FIELD_UNCALIBRATED(deprecated) on(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED,callback: Callback<MagneticFieldUncalibratedResponse>, options?: Options): void Subscribes to data changes of the uncalibrated magnetic field sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.MAGNETIC_FIELD_UNCALIBRATED](#magnetic_field_uncalibrated9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED**. | | callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes | Callback used to return the uncalibrated magnetic field sensor data. The reported data type in the callback is **MagneticFieldUncalibratedResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); }, {interval: 10000000} ); ``` ### PROXIMITY(deprecated) on(type: SensorType.SENSOR_TYPE_ID_PROXIMITY, callback: Callback<ProximityResponse>,options?: Options): void Subscribes to data changes of the proximity sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.PROXIMITY](#proximity9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PROXIMITY**. | | callback | Callback<[ProximityResponse](#proximityresponse)> | Yes | Callback used to return the proximity sensor data. The reported data type in the callback is **ProximityResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY,function(data){ console.info('Distance: ' + data.distance); }, {interval: 10000000} ); ``` ### HUMIDITY(deprecated) on(type: SensorType.SENSOR_TYPE_ID_HUMIDITY, callback: Callback<HumidityResponse>,options?: Options): void Subscribes to data changes of the humidity sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.HUMIDITY](#humidity9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HUMIDITY**. | | callback | Callback<[HumidityResponse](#humidityresponse)> | Yes | Callback used to return the humidity sensor data. The reported data type in the callback is **HumidityResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY,function(data){ console.info('Humidity: ' + data.humidity); }, {interval: 10000000} ); ``` ### BAROMETER(deprecated) on(type: SensorType.SENSOR_TYPE_ID_BAROMETER, callback: Callback<BarometerResponse>,options?: Options): void Subscribes to data changes of the barometer sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.BAROMETER](#barometer9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_BAROMETER**. | | callback | Callback<[BarometerResponse](#barometerresponse)> | Yes | Callback used to return the barometer sensor data. The reported data type in the callback is **BarometerResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER,function(data){ console.info('Atmospheric pressure: ' + data.pressure); }, {interval: 10000000} ); ``` ### HALL(deprecated) on(type: SensorType.SENSOR_TYPE_ID_HALL, callback: Callback<HallResponse>, options?: Options): void Subscribes to data changes of the Hall effect sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.HALL](#hall9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | --------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HALL**. | | callback | Callback<[HallResponse](#hallresponse)> | Yes | Callback used to return the Hall effect sensor data. The reported data type in the callback is **HallResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HALL,function(data){ console.info('Status: ' + data.status); }, {interval: 10000000} ); ``` ### AMBIENT_LIGHT(deprecated) on(type: SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, callback: Callback<LightResponse>, options?: Options): void Subscribes to data changes of the ambient light sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.AMBIENT_LIGHT](#ambient_light9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_AMBIENT_LIGHT**. | | callback | Callback<[LightResponse](#lightresponse)> | Yes | Callback used to return the ambient light sensor data. The reported data type in the callback is **LightResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT,function(data){ console.info(' Illumination: ' + data.intensity); }, {interval: 10000000} ); ``` ### ORIENTATION(deprecated) on(type: SensorType.SENSOR_TYPE_ID_ORIENTATION, callback: Callback<OrientationResponse>, options?: Options): void Subscribes to data changes of the orientation sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.ORIENTATION](#orientation9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ORIENTATION**. | | callback | Callback<[OrientationResponse](#orientationresponse)> | Yes | Callback used to return the orientation sensor data. The reported data type in the callback is **OrientationResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION,function(data){ console.info('The device rotates at an angle around the X axis: ' + data.beta); console.info('The device rotates at an angle around the Y axis: ' + data.gamma); console.info('The device rotates at an angle around the Z axis: ' + data.alpha); }, {interval: 10000000} ); ``` ### HEART_RATE(deprecated) on(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback<HeartRateResponse>, options?: Options): void Subscribes to only one data change of the heart rate sensor. This API is deprecated since API version 9. You are advised to use [sensor.on.HEART_BEAT_RATE](#heart_beat_rate9) instead. **Required permissions**: ohos.permission.HEALTH_DATA **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HEART_RATE**. | | callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | One-shot callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**. | ### HEART_BEAT_RATE9+ on(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback<HeartRateResponse>, options?: Options): void Subscribes to only one data change of the heart rate sensor. **Required permissions**: ohos.permission.HEALTH_DATA **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HEART_BEAT_RATE**. | | callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | One-shot callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HEART_BEAT_RATE,function(data){ console.info("Heart rate: " + data.heartRate); }, {interval: 10000000} ); ``` ### ROTATION_VECTOR(deprecated) on(type: SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR,callback: Callback<RotationVectorResponse>,options?: Options): void Subscribes to data changes of the rotation vector sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.ROTATION_VECTOR](#rotation_vector9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ROTATION_VECTOR**. | | callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | Yes | Callback used to return the rotation vector sensor data. The reported data type in the callback is **RotationVectorResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('Scalar quantity: ' + data.w); }, {interval: 10000000} ); ``` ### WEAR_DETECTION(deprecated) on(type: SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback: Callback<WearDetectionResponse>,options?: Options): void Subscribes to data changes of the wear detection sensor. If this API is called multiple times for the same application, the last call takes effect. This API is deprecated since API version 9. You are advised to use [sensor.on.WEAR_DETECTION](#wear_detection9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_WEAR_DETECTION**. | | callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | Yes | Callback used to return the wear detection sensor data. The reported data type in the callback is **WearDetectionResponse**. | | options | [Options](#options) | No | Interval at which the callback is invoked to return the sensor data. The default value is 200,000,000 ns. | **Example** ```js sensor.on(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION,function(data){ console.info('Wear status: ' + data.value); }, {interval: 10000000} ); ``` ## sensor.once(deprecated) ### ACCELEROMETER(deprecated) once(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback: Callback<AccelerometerResponse>): void Subscribes to only one data change of the acceleration sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.ACCELEROMETER](#accelerometer9-1) instead. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ACCELEROMETER**. | | callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | Yes | One-shot callback used to return the acceleration sensor data. The reported data type in the callback is **AccelerometerResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER,function(data){ console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ### LINEAR_ACCELERATION(deprecated) once(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback<LinearAccelerometerResponse>): void Subscribes to only one data change of the linear acceleration sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.LINEAR_ACCELEROMETER](#linear_accelerometer9) instead. **Required permissions**: ohos.permission.ACCELERATION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_LINEAR_ACCELERATION**. | | callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | One-shot callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**. | ### LINEAR_ACCELEROMETER9+ once(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback:Callback<LinearAccelerometerResponse>): void Subscribes to only one data change of the linear acceleration sensor. **Required permissions**: ohos.permission.ACCELERATION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_LINEAR_ACCELEROMETER**. | | callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | One-shot callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELEROMETER, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ### ACCELEROMETER_UNCALIBRATED(deprecated) once(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback: Callback<AccelerometerUncalibratedResponse>): void Subscribes to only one data change of the uncalibrated acceleration sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.ACCELEROMETER_UNCALIBRATED](#accelerometer_uncalibrated9-1) instead. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED**. | | callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes | One-shot callback used to return the uncalibrated acceleration sensor data. The reported data type in the callback is **AccelerometerUncalibratedResponse**. | **Example** ``` sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } ); ``` ### GRAVITY(deprecated) once(type: SensorType.SENSOR_TYPE_ID_GRAVITY, callback: Callback<GravityResponse>): void Subscribes to only one data change of the gravity sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.GRAVITY](#gravity9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | --------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GRAVITY**. | | callback | Callback<[GravityResponse](#gravityresponse)> | Yes | One-shot callback used to return the gravity sensor data. The reported data type in the callback is **GravityResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ### GYROSCOPE(deprecated) once(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE, callback: Callback<GyroscopeResponse>): void Subscribes to only one data change of the gyroscope sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.GYROSCOPE](#gyroscope9-1) instead. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GYROSCOPE**. | | callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | Yes | One-shot callback used to return the gyroscope sensor data. The reported data type in the callback is **GyroscopeResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ### GYROSCOPE_UNCALIBRATED(deprecated) once(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED,callback: Callback<GyroscopeUncalibratedResponse>): void Subscribes to only one data change of the uncalibrated gyroscope sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.GYROSCOPE_UNCALIBRATED](#gyroscope_uncalibrated9-1) instead. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED**. | | callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes | One-shot callback used to return the uncalibrated gyroscope sensor data. The reported data type in the callback is **GyroscopeUncalibratedResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } ); ``` ### SIGNIFICANT_MOTION(deprecated) once(type: SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION,callback: Callback<SignificantMotionResponse>): void Subscribes to only one data change of the significant motion sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.SIGNIFICANT_MOTION](#significant_motion9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_SIGNIFICANT_MOTION**. | | callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | Yes | One-shot callback used to return the significant motion sensor data. The reported data type in the callback is **SignificantMotionResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, function(data) { console.info('Scalar data: ' + data.scalar); } ); ``` ### PEDOMETER_DETECTION(deprecated) once(type: SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION,callback: Callback<PedometerDetectionResponse>): void Subscribes to only one data change of the pedometer detection sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.PEDOMETER_DETECTION](#pedometer_detection9-1) instead. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PEDOMETER_DETECTION**. | | callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | Yes | One-shot callback used to return the pedometer detection sensor data. The reported data type in the callback is **PedometerDetectionResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, function(data) { console.info('Scalar data: ' + data.scalar); } ); ``` ### PEDOMETER(deprecated) once(type: SensorType.SENSOR_TYPE_ID_PEDOMETER, callback: Callback<PedometerResponse>): void Subscribes to only one data change of the pedometer sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.PEDOMETER](#pedometer9-1) instead. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PEDOMETER**. | | callback | Callback<[PedometerResponse](#pedometerresponse)> | Yes | One-shot callback used to return the pedometer sensor data. The reported data type in the callback is **PedometerResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER, function(data) { console.info('Steps: ' + data.steps); } ); ``` ### AMBIENT_TEMPERATURE(deprecated) once(type: SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE,callback: Callback<AmbientTemperatureResponse>): void Subscribes to only one data change of the ambient temperature sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.AMBIENT_TEMPERATURE](#ambient_temperature9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_AMBIENT_TEMPERATURE**. | | callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes | One-shot callback used to return the ambient temperature sensor data. The reported data type in the callback is **AmbientTemperatureResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, function(data) { console.info('Temperature: ' + data.temperature); } ); ``` ### MAGNETIC_FIELD(deprecated) once(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback: Callback<MagneticFieldResponse>): void Subscribes to only one data change of the magnetic field sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.MAGNETIC_FIELD](#magnetic_field9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD**. | | callback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes | One-shot callback used to return the magnetic field sensor data. The reported data type in the callback is **MagneticFieldResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } ); ``` ### MAGNETIC_FIELD_UNCALIBRATED(deprecated) once(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED,callback: Callback<MagneticFieldUncalibratedResponse>): void Subscribes to only one data change of the uncalibrated magnetic field sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.MAGNETIC_FIELD_UNCALIBRATED](#magnetic_field_uncalibrated9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED**. | | callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes | One-shot callback used to return the uncalibrated magnetic field sensor data. The reported data type in the callback is **MagneticFieldUncalibratedResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } ); ``` ### PROXIMITY(deprecated) once(type: SensorType.SENSOR_TYPE_ID_PROXIMITY, callback: Callback<ProximityResponse>): void Subscribes to only one data change of the proximity sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.PROXIMITY](#proximity9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_PROXIMITY**. | | callback | Callback<[ProximityResponse](#proximityresponse)> | Yes | One-shot callback used to return the proximity sensor data. The reported data type in the callback is **ProximityResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY, function(data) { console.info('Distance: ' + data.distance); } ); ``` ### HUMIDITY(deprecated) once(type: SensorType.SENSOR_TYPE_ID_HUMIDITY, callback: Callback<HumidityResponse>): void Subscribes to only one data change of the humidity sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.HUMIDITY](#humidity9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HUMIDITY**. | | callback | Callback<[HumidityResponse](#humidityresponse)> | Yes | One-shot callback used to return the humidity sensor data. The reported data type in the callback is **HumidityResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY, function(data) { console.info('Humidity: ' + data.humidity); } ); ``` ### BAROMETER(deprecated) once(type: SensorType.SENSOR_TYPE_ID_BAROMETER, callback: Callback<BarometerResponse>): void Subscribes to only one data change of the barometer sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.BAROMETER](#barometer9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_BAROMETER**. | | callback | Callback<[BarometerResponse](#barometerresponse)> | Yes | One-shot callback used to return the barometer sensor data. The reported data type in the callback is **BarometerResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, function(data) { console.info('Atmospheric pressure: ' + data.pressure); } ); ``` ### HALL(deprecated) once(type: SensorType.SENSOR_TYPE_ID_HALL, callback: Callback<HallResponse>): void Subscribes to only one data change of the Hall effect sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.HALL](#hall9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | --------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HALL**. | | callback | Callback<[HallResponse](#hallresponse)> | Yes | One-shot callback used to return the Hall effect sensor data. The reported data type in the callback is **HallResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HALL, function(data) { console.info('Status: ' + data.status); } ); ``` ### AMBIENT_LIGHT(deprecated) once(type: SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, callback: Callback<LightResponse>): void Subscribes to only one data change of the ambient light sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.AMBIENT_LIGHT](#ambient_light9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_AMBIENT_LIGHT**. | | callback | Callback<[LightResponse](#lightresponse)> | Yes | One-shot callback used to return the ambient light sensor data. The reported data type in the callback is **LightResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, function(data) { console.info(' Illumination: ' + data.intensity); } ); ``` ### ORIENTATION(deprecated) once(type: SensorType.SENSOR_TYPE_ID_ORIENTATION, callback: Callback<OrientationResponse>): void Subscribes to only one data change of the orientation sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.ORIENTATION](#orientation9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ORIENTATION**. | | callback | Callback<[OrientationResponse](#orientationresponse)> | Yes | One-shot callback used to return the orientation sensor data. The reported data type in the callback is **OrientationResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION, function(data) { console.info('The device rotates at an angle around the X axis: ' + data.beta); console.info('The device rotates at an angle around the Y axis: ' + data.gamma); console.info('The device rotates at an angle around the Z axis: ' + data.alpha); } ); ``` ### ROTATION_VECTOR(deprecated) once(type: SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, callback: Callback<RotationVectorResponse>): void Subscribes to only one data change of the rotation vector sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.ROTATION_VECTOR](#rotation_vector9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_ROTATION_VECTOR**. | | callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | Yes | One-shot callback used to return the rotation vector sensor data. The reported data type in the callback is **RotationVectorResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, function(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('Scalar quantity: ' + data.w); } ); ``` ### HEART_RATE(deprecated) once(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback<HeartRateResponse>): void Subscribes to only one data change of the heart rate sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.HEART_BEAT_RATE](#heart_beat_rate9) instead. **Required permissions**: ohos.permission.HEART_RATE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HEART_RATE**. | | callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | One-shot callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**. | ### HEART_BEAT_RATE9+ once(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback<HeartRateResponse>): void Subscribes to only one data change of the heart rate sensor. **Required permissions**: ohos.permission.HEART_RATE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_HEART_BEAT_RATE**. | | callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | One-shot callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HEART_BEAT_RATE, function(data) { console.info("Heart rate: " + data.heartRate); } ); ``` ### WEAR_DETECTION(deprecated) once(type: SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback: Callback<WearDetectionResponse>): void Subscribes to only one data change of the wear detection sensor. This API is deprecated since API version 9. You are advised to use [sensor.once.WEAR_DETECTION](#wear_detection9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_WEAR_DETECTION**. | | callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | Yes | One-shot callback used to return the wear detection sensor data. The reported data type in the callback is **WearDetectionResponse**. | **Example** ```js sensor.once(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, function(data) { console.info("Wear status: "+ data.value); } ); ``` ## sensor.off(deprecated) ### ACCELEROMETER(deprecated) off(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback?: Callback<AccelerometerResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.ACCELEROMETER](#accelerometer9-2) instead. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_ACCELEROMETER**. | | callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | Yes | Callback used to return the acceleration sensor data. The reported data type in the callback is **AccelerometerResponse**. | **Example** ```js function callback(data) { console.info('x-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback); ``` ### ACCELEROMETER_UNCALIBRATED(deprecated) off(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, callback?: Callback<AccelerometerUncalibratedResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.ACCELEROMETER_UNCALIBRATED](#accelerometer_uncalibrated9-2) instead. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED**. | | callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes | Callback used to return the uncalibrated acceleration sensor data. The reported data type in the callback is **AccelerometerUncalibratedResponse**. | **Example** ```js function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, callback); ``` ### AMBIENT_LIGHT(deprecated) off(type: SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, callback?: Callback<LightResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.AMBIENT_LIGHT](#ambient_light9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_AMBIENT_LIGHT**. | | callback | Callback<[LightResponse](#lightresponse)> | Yes | Callback used to return the ambient light sensor data. The reported data type in the callback is **LightResponse**. | **Example** ```js function callback(data) { console.info(' Illumination: ' + data.intensity); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, callback); ``` ### AMBIENT_TEMPERATURE(deprecated) off(type: SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, callback?: Callback<AmbientTemperatureResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.AMBIENT_TEMPERATURE](#ambient_temperature9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_AMBIENT_TEMPERATURE**. | | callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes | Callback used to return the ambient temperature sensor data. The reported data type in the callback is **AmbientTemperatureResponse**. | **Example** ```js function callback(data) { console.info('Temperature: ' + data.temperature); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, callback); ``` ### BAROMETER(deprecated) off(type: SensorType.SENSOR_TYPE_ID_BAROMETER, callback?: Callback<BarometerResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.BAROMETER](#barometer9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_BAROMETER**. | | callback | Callback<[BarometerResponse](#barometerresponse)> | Yes | Callback used to return the barometer sensor data. The reported data type in the callback is **BarometerResponse**. | **Example** ```js function callback(data) { console.info('Atmospheric pressure: ' + data.pressure); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, callback); ``` ### GRAVITY(deprecated) off(type: SensorType.SENSOR_TYPE_ID_GRAVITY, callback?: Callback<GravityResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.GRAVITY](#gravity9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | --------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_GRAVITY**. | | callback | Callback<[GravityResponse](#gravityresponse)> | Yes | Callback used to return the gravity sensor data. The reported data type in the callback is **GravityResponse**. | **Example** ```js function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off( sensor.SensorType.SENSOR_TYPE_ID_GRAVITY, callback); ``` ### GYROSCOPE(deprecated) off(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE, callback?: Callback<GyroscopeResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.GYROSCOPE](#gyroscope9-2) instead. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_GYROSCOPE**. | | callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | Yes | Callback used to return the gyroscope sensor data. The reported data type in the callback is **GyroscopeResponse**. | **Example** ```js function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE, callback); ``` ### GYROSCOPE_UNCALIBRATED(deprecated) off(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, callback?: Callback<GyroscopeUncalibratedResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.GYROSCOPE_UNCALIBRATED](#gyroscope_uncalibrated9-2) instead. **Required permissions**: ohos.permission.GYROSCOPE **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED**. | | callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes | Callback used to return the uncalibrated gyroscope sensor data. The reported data type in the callback is **GyroscopeUncalibratedResponse**. | **Example** ```js function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, callback); ``` ### HALL(deprecated) off(type: SensorType.SENSOR_TYPE_ID_HALL, callback?: Callback<HallResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.HALL](#hall9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | --------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_HALL**. | | callback | Callback<[HallResponse](#hallresponse)> | Yes | Callback used to return the Hall effect sensor data. The reported data type in the callback is **HallResponse**. | **Example** ```js function callback(data) { console.info('Status: ' + data.status); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_HALL, callback); ``` ### HEART_RATE(deprecated) off(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback?: Callback<HeartRateResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.HEART_BEAT_RATE](#heart_beat_rate9) instead. **Required permissions**: ohos.permission.HEALTH_DATA **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_HEART_RATE**. | | callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | One-shot callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**. | ### HEART_BEAT_RATE9+ off(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback?: Callback<HeartRateResponse>): void Unsubscribes from sensor data changes. **Required permissions**: ohos.permission.HEALTH_DATA **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_HEART_BEAT_RATE**. | | callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | One-shot callback used to return the heart rate sensor data. The reported data type in the callback is **HeartRateResponse**. | **Example** ```js function callback(data) { console.info("Heart rate: " + data.heartRate); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_HEART_BEAT_RATE, callback); ``` ### HUMIDITY(deprecated) off(type: SensorType.SENSOR_TYPE_ID_HUMIDITY, callback?: Callback<HumidityResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.HUMIDITY](#humidity9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_HUMIDITY**. | | callback | Callback<[HumidityResponse](#humidityresponse)> | Yes | Callback used to return the humidity sensor data. The reported data type in the callback is **HumidityResponse**. | **Example** ```js function callback(data) { console.info('Humidity: ' + data.humidity); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY, callback); ``` ### LINEAR_ACCELERATION(deprecated) off(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION, callback?: Callback<LinearAccelerometerResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.LINEAR_ACCELEROMETER](#linear_accelerometer9) instead. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_LINEAR_ACCELERATION**. | | callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | Callback used to return the linear acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**. | ### LINEAR_ACCELEROMETER9+ off(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION,callback?:Callback<LinearAccelerometerResponse>): void Unsubscribes from sensor data changes. **Required permissions**: ohos.permission.ACCELEROMETER **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_LINEAR_ACCELEROMETER**. | | callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | Callback used to return the acceleration sensor data. The reported data type in the callback is **LinearAccelerometerResponse**. | **Example** ```js function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_LINEAR_ACCELEROMETER, callback); ``` ### MAGNETIC_FIELD(deprecated) off(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback?: Callback<MagneticFieldResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.MAGNETIC_FIELD](#magnetic_field9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | ---------------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD**. | | callbackcallback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes | Callback used to return the magnetic field sensor data. The reported data type in the callback is **MagneticFieldResponse**. | **Example** ```js function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback); ``` ### MAGNETIC_FIELD_UNCALIBRATED(deprecated) off(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, callback?: Callback<MagneticFieldUncalibratedResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.MAGNETIC_FIELD_UNCALIBRATED](#magnetic_field_uncalibrated9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED**. | | callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes | Callback used to return the uncalibrated magnetic field sensor data. The reported data type in the callback is **MagneticFieldUncalibratedResponse**. | **Example** ```js function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('X-coordinate bias: ' + data.biasX); console.info('Y-coordinate bias: ' + data.biasY); console.info('Z-coordinate bias: ' + data.biasZ); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, callback); ``` ### ORIENTATION(deprecated) off(type: SensorType.SENSOR_TYPE_ID_ORIENTATION, callback?: Callback<OrientationResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.ORIENTATION](#orientation9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_ORIENTATION**. | | callback | Callback<[OrientationResponse](#orientationresponse)> | Yes | Callback used to return the orientation sensor data. The reported data type in the callback is **OrientationResponse**. | **Example** ```js function callback(data) { console.info('The device rotates at an angle around the X axis: ' + data.beta); console.info('The device rotates at an angle around the Y axis: ' + data.gamma); console.info('The device rotates at an angle around the Z axis: ' + data.alpha); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION, callback); ``` ### PEDOMETER(deprecated) off(type: SensorType.SENSOR_TYPE_ID_PEDOMETER, callback?: Callback<PedometerResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.PEDOMETER](#pedometer9-2) instead. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_PEDOMETER**. | | callback | Callback<[PedometerResponse](#pedometerresponse)> | Yes | Callback used to return the pedometer sensor data. The reported data type in the callback is **PedometerResponse**. | **Example** ```js function callback(data) { console.info('Steps: ' + data.steps); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER, callback); ``` ### PEDOMETER_DETECTION(deprecated) off(type: SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, callback?: Callback<PedometerDetectionResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.PEDOMETER_DETECTION](#pedometer_detection9-2) instead. **Required permissions**: ohos.permission.ACTIVITY_MOTION **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_PEDOMETER_DETECTION**. | | callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | Yes | Callback used to return the pedometer detection sensor data. The reported data type in the callback is **PedometerDetectionResponse**. | **Example** ```js function callback(data) { console.info('Scalar data: ' + data.scalar); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, callback); ``` ### PROXIMITY(deprecated) off(type: SensorType.SENSOR_TYPE_ID_PROXIMITY, callback?: Callback<ProximityResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.PROXIMITY](#proximity9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_PROXIMITY**. | | callback | Callback<[ProximityResponse](#proximityresponse)> | Yes | Callback used to return the proximity sensor data. The reported data type in the callback is **ProximityResponse**. | **Example** ```js function callback(data) { console.info('Distance: ' + data.distance); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY, callback); ``` ### ROTATION_VECTOR(deprecated) off(type: SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, callback?: Callback<RotationVectorResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.ROTATION_VECTOR](#rotation_vector9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_ROTATION_VECTOR**. | | callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | Yes | Callback used to return the rotation vector sensor data. The reported data type in the callback is **RotationVectorResponse**. | **Example** ```js function callback(data) { console.info('X-coordinate component: ' + data.x); console.info('Y-coordinate component: ' + data.y); console.info('Z-coordinate component: ' + data.z); console.info('Scalar quantity: ' + data.w); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, callback); ``` ### SIGNIFICANT_MOTION(deprecated) off(type: SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, callback?: Callback<SignificantMotionResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.SIGNIFICANT_MOTION](#significant_motion9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_SIGNIFICANT_MOTION**. | | callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | Yes | Callback used to return the significant motion sensor data. The reported data type in the callback is **SignificantMotionResponse**. | **Example** ```js function callback(data) { console.info('Scalar data: ' + data.scalar); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, callback); ``` ### WEAR_DETECTION(deprecated) off(type: SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback?: Callback<WearDetectionResponse>): void Unsubscribes from sensor data changes. This API is deprecated since API version 9. You are advised to use [sensor.off.WEAR_DETECTION](#wear_detection9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | type | [SensorType](#sensortype) | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_WEAR_DETECTION**. | | callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | Yes | Callback used to return the wear detection sensor data. The reported data type in the callback is **WearDetectionResponse**. | **Example** ```js function accCallback(data) { console.info('Wear status: ' + data.value); } sensor.off(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, accCallback); ``` ## sensor.transformCoordinateSystem(deprecated) transformCoordinateSystem(inRotationVector: Array<number>, coordinates: CoordinatesOptions, callback: AsyncCallback<Array<number>>): void Rotates a rotation vector so that it can represent the coordinate system in different ways. This API uses an asynchronous callback to return the result. This API is deprecated since API version 9. You are advised to use [sensor.transformRotationMatrix](#sensortransformrotationmatrix9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | ---------------- | ----------------------------------------- | --------- | ------------------------------------------------------------ | | inRotationVector | Array<number> | Yes | Rotation vector to rotate. | | coordinates | [CoordinatesOptions](#coordinatesoptions) | Yes | Direction of the coordinate system. | | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the rotation vector after being rotated. | **Example** ```js sensor.transformCoordinateSystem([1, 0, 0, 0, 1, 0, 0, 0, 1], {x:2, y:3}, function(err, data) { if (err) { console.error("Operation failed. Error code: " + err.code + ", message: " + err.message); return; } console.info("Operation successed. Data obtained: " + data); for (var i=0; i < data.length; i++) { console.info("transformCoordinateSystem data[ " + i + "] = " + data[i]); } }) ``` ## sensor.transformCoordinateSystem(deprecated) transformCoordinateSystem(inRotationVector: Array<number>, coordinates: CoordinatesOptions): Promise<Array<number>> Rotates a rotation vector so that it can represent the coordinate system in different ways. This API uses a promise to return the result. This API is deprecated since API version 9. You are advised to use [sensor.transformRotationMatrix](#sensortransformrotationmatrix9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | ---------------- | ----------------------------------------- | --------- | ----------------------------------- | | inRotationVector | Array<number> | Yes | Rotation vector to rotate. | | coordinates | [CoordinatesOptions](#coordinatesoptions) | Yes | Direction of the coordinate system. | **Return value** | Type | Description | | ---------------------------------- | ------------------------------------------------------------ | | Promise<Array<number>> | Promise used to return the rotation vector after being rotated. | **Example** ```js const promise = sensor.transformCoordinateSystem([1, 0, 0, 0, 1, 0, 0, 0, 1], {x:2, y:3}); promise.then((data) => { console.info("Operation successed."); for (var i=0; i < data.length; i++) { console.info("transformCoordinateSystem data[ " + i + "] = " + data[i]); } }).catch((err) => { console.info("Operation failed"); }) ``` ## sensor.getGeomagneticField(deprecated) getGeomagneticField(locationOptions: LocationOptions, timeMillis: number, callback: AsyncCallback<GeomagneticResponse>): void Obtains the geomagnetic field of a geographic location. This API uses an asynchronous callback to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getGeomagneticInfo](#sensorgetgeomagneticinfo9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | --------------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | | locationOptions | [LocationOptions](#locationoptions) | Yes | Geographic location. | | timeMillis | number | Yes | Time for obtaining the magnetic declination, in milliseconds. | | callback | AsyncCallback<[GeomagneticResponse](#geomagneticresponse)> | Yes | Callback used to return the geomagnetic field. | **Example** ```js sensor.getGeomagneticField({latitude:80, longitude:0, altitude:0}, 1580486400000, function(err, data) { if (err) { console.error('Operation failed. Error code: ' + err.code + '; message: ' + err.message); return; } console.info('sensor_getGeomagneticField_callback x: ' + data.x + ',y: ' + data.y + ',z: ' + data.z + ',geomagneticDip: ' + data.geomagneticDip + ',deflectionAngle: ' + data.deflectionAngle + ',levelIntensity: ' + data.levelIntensity + ',totalIntensity: ' + data.totalIntensity); }); ``` ## sensor.getGeomagneticField(deprecated) getGeomagneticField(locationOptions: LocationOptions, timeMillis: number): Promise<GeomagneticResponse> Obtains the geomagnetic field of a geographic location. This API uses a promise to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getGeomagneticInfo](#sensorgetgeomagneticinfo9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | --------------- | ----------------------------------- | --------- | ------------------------------------------------------------ | | locationOptions | [LocationOptions](#locationoptions) | Yes | Geographic location. | | timeMillis | number | Yes | Time for obtaining the magnetic declination, in milliseconds. | **Return value** | Type | Description | | ---------------------------------------------------------- | --------------------------------------------- | | Promise<[GeomagneticResponse](#geomagneticresponse)> | Promise used to return the geomagnetic field. | **Example** ```js const promise = sensor.getGeomagneticField({latitude:80, longitude:0, altitude:0}, 1580486400000); promise.then((data) => { console.info('sensor_getGeomagneticField_promise x: ' + data.x + ',y: ' + data.y + ',z: ' + data.z + ',geomagneticDip: ' + data.geomagneticDip + ',deflectionAngle: ' + data.deflectionAngle + ',levelIntensity: ' + data.levelIntensity + ',totalIntensity: ' + data.totalIntensity); }).catch((reason) => { console.info('Operation failed.'); }) ``` ## sensor.getAltitude(deprecated) getAltitude(seaPressure: number, currentPressure: number, callback: AsyncCallback<number>): void Obtains the altitude at which the device is located based on the sea-level atmospheric pressure and the current atmospheric pressure. This API uses an asynchronous callback to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getDeviceAltitude](#sensorgetdevicealtitude9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | --------------- | --------------------------- | --------- | ------------------------------------------------------------ | | seaPressure | number | Yes | Sea-level atmospheric pressure, in hPa. | | currentPressure | number | Yes | Atmospheric pressure at the altitude where the device is located, in hPa. | | callback | AsyncCallback<number> | Yes | Callback used to return the altitude, in meters. | **Example** ```js sensor.getAltitude(0, 200, function(err, data) { if (err) { console.error( "Operation failed. Error code: " + err.code + ", message: " + err.message); return; } console.info("Successed to get getAltitude interface get data: " + data); }); ``` ## sensor.getAltitude(deprecated) getAltitude(seaPressure: number, currentPressure: number): Promise<number> Obtains the altitude at which the device is located based on the sea-level atmospheric pressure and the current atmospheric pressure. This API uses a promise to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getDeviceAltitude](#sensorgetdevicealtitude9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | --------------- | ------ | --------- | ------------------------------------------------------------ | | seaPressure | number | Yes | Sea-level atmospheric pressure, in hPa. | | currentPressure | number | Yes | Atmospheric pressure at the altitude where the device is located, in hPa. | **Return value** | Type | Description | | --------------------- | ----------------------------------------------- | | Promise<number> | Promise used to return the altitude, in meters. | **Example** ```js const promise = sensor.getAltitude(0, 200); promise.then((data) => { console.info(' sensor_getAltitude_Promise success', data); }).catch((err) => { console.error("Operation failed"); }) ``` ## sensor.getGeomagneticDip(deprecated) getGeomagneticDip(inclinationMatrix: Array<number>, callback: AsyncCallback<number>): void Obtains the magnetic dip based on the inclination matrix. This API uses an asynchronous callback to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getInclination](#sensorgetinclination9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | ----------------- | --------------------------- | --------- | ----------------------------------------------------- | | inclinationMatrix | Array<number> | Yes | Inclination matrix. | | callback | AsyncCallback<number> | Yes | Callback used to return the magnetic dip, in radians. | **Example** ```js sensor.getGeomagneticDip([1, 0, 0, 0, 1, 0, 0, 0, 1], function(err, data) { if (err) { console.error('SensorJsAPI--->Failed to register data, error code is:' + err.code + ', message: ' + err.message); return; } console.info("Successed to get getGeomagneticDip interface get data: " + data); }) ``` ## sensor.getGeomagneticDip(deprecated) getGeomagneticDip(inclinationMatrix: Array<number>): Promise<number> Obtains the magnetic dip based on the inclination matrix. This API uses a promise to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getInclination](#sensorgetinclination9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | ----------------- | ------------------- | --------- | ------------------- | | inclinationMatrix | Array<number> | Yes | Inclination matrix. | **Return value** | Type | Description | | --------------------- | ---------------------------------------------------- | | Promise<number> | Promise used to return the magnetic dip, in radians. | **Example** ```js const promise = sensor.getGeomagneticDip([1, 0, 0, 0, 1, 0, 0, 0, 1]); promise.then((data) => { console.info('getGeomagneticDip_promise successed', data); }).catch((err) => { console.error("Operation failed"); }) ``` ## sensor. getAngleModify(deprecated) getAngleModify(currentRotationMatrix: Array<number>, preRotationMatrix: Array<number>, callback: AsyncCallback<Array<number>>): void Obtains the angle change between two rotation matrices. This API uses an asynchronous callback to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getAngleVariation](#sensorgetanglevariation9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | --------------------- | ---------------------------------------- | --------- | ------------------------------------------------------------ | | currentRotationMatrix | Array<number> | Yes | Current rotation matrix. | | preRotationMatrix | Array<number> | Yes | The other rotation matrix. | | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the angle change around the z, x, and y axes. | **Example** ```js sensor. getAngleModify([1,0,0,0,1,0,0,0,1], [1, 0, 0, 0, 0.87, -0.50, 0, 0.50, 0.87], function(err, data) { if (err) { console.error('Failed to register data, error code is: ' + err.code + ', message: ' + err.message); return; } for (var i=0; i < data.length; i++) { console.info("data[" + i + "]: " + data[i]); } }) ``` ## sensor. getAngleModify(deprecated) getAngleModify(currentRotationMatrix: Array<number>, preRotationMatrix: Array<number>): Promise<Array<number>> Obtains the angle change between two rotation matrices. This API uses a promise to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getAngleVariation](#sensorgetanglevariation9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | --------------------- | ------------------- | --------- | -------------------------- | | currentRotationMatrix | Array<number> | Yes | Current rotation matrix. | | preRotationMatrix | Array<number> | Yes | The other rotation matrix. | **Return value** | Type | Description | | ---------------------------------- | ------------------------------------------------------------ | | Promise<Array<number>> | Promise used to return the angle change around the z, x, and y axes. | **Example** ```js const promise = sensor.getAngleModify([1,0,0,0,1,0,0,0,1], [1,0,0,0,0.87,-0.50,0,0.50,0.87]); promise.then((data) => { console.info('getAngleModifiy_promise success'); for (var i=0; i < data.length; i++) { console.info("data[" + i + "]: " + data[i]); } }).catch((reason) => { console.info("promise::catch", reason); }) ``` ## sensor.createRotationMatrix(deprecated) createRotationMatrix(rotationVector: Array<number>, callback: AsyncCallback<Array<number>>): void Converts a rotation vector into a rotation matrix. This API uses an asynchronous callback to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getRotationMatrix](#sensorgetrotationmatrix9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------------- | ---------------------------------------- | --------- | -------------------------------------------- | | rotationVector | Array<number> | Yes | Rotation vector to convert. | | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the rotation matrix. | **Example** ```js sensor.createRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877], function(err, data) { if (err) { console.error('SensorJsAPI--->Failed to register data, error code is: ' + err.code + ', message: ' + err.message); return; } for (var i=0; i < data.length; i++) { console.info("data[" + i + "]: " + data[i]); } }) ``` ## sensor.createRotationMatrix(deprecated) createRotationMatrix(rotationVector: Array<number>): Promise<Array<number>> Converts a rotation vector into a rotation matrix. This API uses a promise to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getRotationMatrix](#sensorgetrotationmatrix9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------------- | ------------------- | --------- | --------------------------- | | rotationVector | Array<number> | Yes | Rotation vector to convert. | **Return value** | Type | Description | | ---------------------------------- | ------------------------------------------- | | Promise<Array<number>> | Promise used to return the rotation matrix. | **Example** ```js const promise = sensor.createRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877]); promise.then((data) => { console.info('createRotationMatrix_promise success'); for (var i=0; i < data.length; i++) { console.info("data[" + i + "]: " + data[i]); } }).catch((reason) => { console.info("promise::catch", reason); }) ``` ## sensor.createQuaternion(deprecated) createQuaternion(rotationVector: Array<number>, callback: AsyncCallback<Array<number>>): void Converts a rotation vector into a quaternion. This API uses an asynchronous callback to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getQuaternion](#sensorgetquaternion9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------------- | ---------------------------------------- | --------- | --------------------------------------- | | rotationVector | Array<number> | Yes | Rotation vector to convert. | | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the quaternion. | **Example** ```js sensor.createQuaternion([0.20046076, 0.21907, 0.73978853, 0.60376877], function(err, data) { if (err) { console.error('SensorJsAPI--->Failed to register data, error code is: ' + err.code + ', message: ' + err.message); return; } for (var i=0; i < data.length; i++) { console.info("data[" + i + "]: " + data[i]); } }) ``` ## sensor.createQuaternion(deprecated) createQuaternion(rotationVector: Array<number>): Promise<Array<number>> Converts a rotation vector into a quaternion. This API uses a promise to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getQuaternion](#sensorgetquaternion9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------------- | ------------------- | --------- | --------------------------- | | rotationVector | Array<number> | Yes | Rotation vector to convert. | **Return value** | Type | Description | | ---------------------------------- | -------------------------------------- | | Promise<Array<number>> | Promise used to return the quaternion. | **Example** ```js const promise = sensor.createQuaternion([0.20046076, 0.21907, 0.73978853, 0.60376877]); promise.then((data) => { console.info('createQuaternion_promise successed'); for (var i=0; i < data.length; i++) { console.info("data[" + i + "]: " + data[i]); } }).catch((err) => { console.info('promise failed'); }) ``` ## sensor.getDirection(deprecated) getDirection(rotationMatrix: Array<number>, callback: AsyncCallback<Array<number>>): void Obtains the device direction based on the rotation matrix. This API uses an asynchronous callback to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getOrientation](#sensorgetorientation9) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------------- | ---------------------------------------- | --------- | ------------------------------------------------------------ | | rotationMatrix | Array<number> | Yes | Rotation matrix. | | callback | AsyncCallback<Array<number>> | Yes | Callback used to return the rotation angle around the z, x, and y axes. | **Example** ```js sensor.getDirection([1, 0, 0, 0, 1, 0, 0, 0, 1], function(err, data) { if (err) { console.error('SensorJsAPI--->Failed to register data, error code is: ' + err.code + ', message: ' + err.message); return; } console.info("SensorJsAPI--->Successed to get getDirection interface get data: " + data); for (var i = 1; i < data.length; i++) { console.info("sensor_getDirection_callback" + data[i]); } }) ``` ## sensor.getDirection(deprecated) getDirection(rotationMatrix: Array<number>): Promise<Array<number>> Obtains the device direction based on the rotation matrix. This API uses a promise to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getOrientation](#sensorgetorientation9-1) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | -------------- | ------------------- | --------- | ---------------- | | rotationMatrix | Array<number> | Yes | Rotation matrix. | **Return value** | Type | Description | | ---------------------------------- | ------------------------------------------------------------ | | Promise<Array<number>> | Promise used to return the rotation angle around the z, x, and y axes. | **Example** ```js const promise = sensor.getDirection([1, 0, 0, 0, 1, 0, 0, 0, 1]); promise.then((data) => { console.info('sensor_getAltitude_Promise success', data); for (var i = 1; i < data.length; i++) { console.info("sensor_getDirection_promise" + data[i]); } }).catch((err) => { console.info('promise failed'); }) ``` ## sensor.createRotationMatrix(deprecated) createRotationMatrix(gravity: Array<number>, geomagnetic: Array<number>, callback: AsyncCallback<RotationMatrixResponse>): void Creates a rotation matrix based on the gravity vector and geomagnetic vector. This API uses an asynchronous callback to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getRotationMatrix](#sensorgetrotationmatrix9-2) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------------------------------------------------------------ | --------- | -------------------------------------------- | | gravity | Array<number> | Yes | Gravity vector. | | geomagnetic | Array<number> | Yes | Geomagnetic vector. | | callback | AsyncCallback<[RotationMatrixResponse](#rotationmatrixresponse)> | Yes | Callback used to return the rotation matrix. | **Example** ```js sensor.createRotationMatrix([-0.27775216, 0.5351276, 9.788099], [210.87253, -78.6096, -111.44444], function(err, data) { if (err) { console.error('error code is: ' + err.code + ', message: ' + err.message); return; } console.info(JSON.stringify(data)); }) ``` ## sensor.createRotationMatrix(deprecated) createRotationMatrix(gravity: Array<number>, geomagnetic: Array<number>,): Promise<RotationMatrixResponse> Creates a rotation matrix based on the gravity vector and geomagnetic vector. This API uses a promise to return the result. This API is deprecated since API version 9. You are advised to use [sensor.getRotationMatrix](#sensorgetrotationmatrix9-3) instead. **System capability**: SystemCapability.Sensors.Sensor **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------------------- | --------- | ------------------- | | gravity | Array<number> | Yes | Gravity vector. | | geomagnetic | Array<number> | Yes | Geomagnetic vector. | **Return value** | Type | Description | | ------------------------------------------------------------ | ------------------------------------------- | | Promise<[RotationMatrixResponse](#rotationmatrixresponse)> | Promise used to return the rotation matrix. | **Example** ```js const promise = sensor.createRotationMatrix([-0.27775216, 0.5351276, 9.788099], [210.87253, -78.6096, -111.44444]); promise.then((data) => { console.info(JSON.stringify(data)); }).catch((err) => { console.info('promise failed'); }) ```