# @ohos.sensor (Sensor)
The **Sensor** module provides APIs for obtaining the sensor list and subscribing to sensor data. It also provides some common sensor algorithms.
> **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
```ts
import sensor from '@ohos.sensor';
```
## sensor.on
### COLOR10+
on(type: SensorId.COLOR, callback: Callback\,options?: Options): void
Subscribes to data of the color sensor.
**System capability**: SystemCapability.Sensors.Sensor
**System API**: This is a system API.
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------------------- | ---- | ----------------------------------------------------------- |
| type | [SensorId](#sensorid9).COLOR | Yes | Sensor type. The value is fixed at **SensorId.COLOR**. |
| callback | Callback<[ColorResponse](#colorresponse)> | Yes | Callback used to report the sensor data, which is a **ColorResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Example**
```ts
try {
sensor.on(sensor.SensorId.COLOR, function (data) {
console.info('Succeeded in getting the intensity of light: ' + data.lightIntensity);
console.info('Succeeded in getting the color temporature: ' + data.colorTemperature);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.message}`);
}
```
### SAR10+
on(type: SensorId.SAR, callback: Callback\,options?: Options): void
Subscribes to data of the Sodium Adsorption Ratio (SAR) sensor.
**System capability**: SystemCapability.Sensors.Sensor
**System API**: This is a system API.
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ---------------------------------------- | ---- | ----------------------------------------------------------- |
| type | [SensorId](#sensorid9).SAR | Yes | Sensor type. The value is fixed at **SensorId.SAR**. |
| callback | Callback<[SarResponse](#sarresponse)> | Yes | Callback used to report the sensor data, which is a **SarResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Example**
```ts
try {
sensor.on(sensor.SensorId.SAR, function (data) {
console.info('Succeeded in getting specific absorption rate : ' + data.absorptionRatio);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.message}`);
}
```
### 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).ACCELEROMETER | Yes | Sensor type. The value is fixed at **SensorId.ACCELEROMETER**. |
| callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | Yes | Callback used to report the sensor data, which is an **AccelerometerResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.ACCELEROMETER, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).ACCELEROMETER_UNCALIBRATED | Yes | Sensor type. The value is fixed at **SensorId.ACCELEROMETER_UNCALIBRATED**. |
| callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes | Callback used to report the sensor data, which is an **AccelerometerUncalibratedResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking on. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking on. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking on. Z-coordinate bias: ' + data.biasZ);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).AMBIENT_LIGHT | Yes | Sensor type. The value is fixed at **SensorId.AMBIENT_LIGHT**. |
| callback | Callback<[LightResponse](#lightresponse)> | Yes | Callback used to report the sensor data, which is a **LightResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.AMBIENT_LIGHT, function (data) {
console.info('Succeeded in getting the ambient light intensity: ' + data.intensity);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).AMBIENT_TEMPERATURE | Yes | Sensor type. The value is fixed at **SensorId.AMBIENT_TEMPERATURE**. |
| callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes | Callback used to report the sensor data, which is an **AmbientTemperatureResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.AMBIENT_TEMPERATURE, function (data) {
console.info('Succeeded in invoking on. Temperature: ' + data.temperature);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).BAROMETER | Yes | Sensor type. The value is fixed at **SensorId.BAROMETER**. |
| callback | Callback<[BarometerResponse](#barometerresponse)> | Yes | Callback used to report the sensor data, which is a **BarometerResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.BAROMETER, function (data) {
console.info('Succeeded in invoking on. Atmospheric pressure: ' + data.pressure);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).GRAVITY | Yes | Sensor type. The value is fixed at **SensorId.GRAVITY**. |
| callback | Callback<[GravityResponse](#gravityresponse)> | Yes | Callback used to report the sensor data, which is a **GravityResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.GRAVITY, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).GYROSCOPE | Yes | Sensor type. The value is fixed at **SensorId.GYROSCOPE**. |
| callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | Yes | Callback used to report the sensor data, which is a **GyroscopeResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.GYROSCOPE, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).GYROSCOPE_UNCALIBRATED | Yes | Sensor type. The value is fixed at **SensorId.GYROSCOPE_UNCALIBRATED**. |
| callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes | Callback used to report the sensor data, which is a **GyroscopeUncalibratedResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.GYROSCOPE_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking on. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking on. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking on. Z-coordinate bias: ' + data.biasZ);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).HALL | Yes | Sensor type. The value is fixed at **SensorId.HALL**. |
| callback | Callback<[HallResponse](#hallresponse)> | Yes | Callback used to report the sensor data, which is a **HallResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.HALL, function (data) {
console.info('Succeeded in invoking on. Hall status: ' + data.status);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).HEART_RATE | Yes | Sensor type. The value is fixed at **SensorId.HEART_RATE**. |
| callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | Callback used to report the sensor data, which is a **HeartRateResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.HEART_RATE, function (data) {
console.info('Succeeded in invoking on. Heart rate: ' + data.heartRate);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).HUMIDITY | Yes | Sensor type. The value is fixed at **SensorId.HUMIDITY**. |
| callback | Callback<[HumidityResponse](#humidityresponse)> | Yes | Callback used to report the sensor data, which is a **HumidityResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.HUMIDITY, function (data) {
console.info('Succeeded in invoking on. Humidity: ' + data.humidity);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.message}`);
}
```
### LINEAR_ACCELEROMETER9+
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).LINEAR_ACCELEROMETER | Yes | Sensor type. The value is fixed at **SensorId.LINEAR_ACCELEROMETER**. |
| callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | Callback used to report the sensor data, which is a **LinearAccelerometerResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.LINEAR_ACCELEROMETER, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).MAGNETIC_FIELD | Yes | Sensor type. The value is fixed at **SensorId.MAGNETIC_FIELD**. |
| callback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes | Callback used to report the sensor data, which is a **MagneticFieldResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.MAGNETIC_FIELD, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).MAGNETIC_FIELD_UNCALIBRATED | Yes | Sensor type. The value is fixed at **SensorId.MAGNETIC_FIELD_UNCALIBRATED**.|
| callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes | Callback used to report the sensor data, which is a **MagneticFieldUncalibratedResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking on. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking on. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking on. Z-coordinate bias: ' + data.biasZ);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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 codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------------------------------- | ---- | ----------------------------------------------------------- |
| type | [SensorId](#sensorid9).ORIENTATION | Yes | Sensor type. The value is fixed at **SensorId.ORIENTATION**. |
| callback | Callback<[OrientationResponse](#orientationresponse)> | Yes | Callback used to report the sensor data, which is a **OrientationResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Example**
```ts
try {
sensor.on(sensor.SensorId.ORIENTATION, function (data) {
console.info('Succeeded in the device rotating at an angle around the Z axis: ' + data.alpha);
console.info('Succeeded in the device rotating at an angle around the X axis: ' + data.beta);
console.info('Succeeded in the device rotating at an angle around the Y axis: ' + data.gamma);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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 codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------- | ---- | ----------------------------------------------------------- |
| type | [SensorId](#sensorid9).PEDOMETER | Yes | Sensor type. The value is fixed at **SensorId.PEDOMETER**. |
| callback | Callback<[PedometerResponse](#pedometerresponse)> | Yes | Callback used to report the sensor data, which is a **PedometerResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Example**
```ts
try {
sensor.on(sensor.SensorId.PEDOMETER, function (data) {
console.info('Succeeded in invoking on. Step count: ' + data.steps);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.message}`);
}
```
### PEDOMETER_DETECTION9+
on(type: SensorId.PEDOMETER_DETECTION, callback: Callback<PedometerDetectionResponse>,
options?: Options): void
Subscribes 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).PEDOMETER_DETECTION | Yes | Sensor type. The value is fixed at **SensorId.PEDOMETER_DETECTION**. |
| callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | Yes | Callback used to report the sensor data, which is a **PedometerDetectionResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.PEDOMETER_DETECTION, function (data) {
console.info('Succeeded in invoking on. Pedometer scalar: ' + data.scalar);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).PROXIMITY | Yes | Sensor type. The value is fixed at **SensorId.PROXIMITY**. |
| callback | Callback<[ProximityResponse](#proximityresponse)> | Yes | Callback used to report the sensor data, which is a **ProximityResponse** object. |
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.PROXIMITY, function (data) {
console.info('Succeeded in invoking on. Distance: ' + data.distance);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).ROTATION_VECTOR | Yes | Sensor type. The value is fixed at **SensorId.ROTATION_VECTOR**. |
| callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | Yes | Callback used to report the sensor data, which is a **RotationVectorResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.ROTATION_VECTOR, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking on. Scalar quantity: ' + data.w);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).SIGNIFICANT_MOTION | Yes | Sensor type. The value is fixed at **SensorId.SIGNIFICANT_MOTION**. |
| callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | Yes | Callback used to report the sensor data, which is a **SignificantMotionResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.SIGNIFICANT_MOTION, function (data) {
console.info('Succeeded in invoking on. Scalar data: ' + data.scalar);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.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).WEAR_DETECTION | Yes | Sensor type. The value is fixed at **SensorId.WEAR_DETECTION**. |
| callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | Yes | Callback used to report the sensor data, which is a **WearDetectionResponse** object.|
| options | [Options](#options) | No | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.on(sensor.SensorId.WEAR_DETECTION, function (data) {
console.info('Succeeded in invoking on. Wear status: ' + data.value);
}, { interval: 100000000 });
} catch (error) {
console.error(`Failed to invoke on. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.once9+
### ACCELEROMETER9+
once(type: SensorId.ACCELEROMETER, callback: Callback<AccelerometerResponse>): void
Obtains data of the acceleration sensor once.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------------------------- |
| type | [SensorId](#sensorid9).ACCELEROMETER | Yes | Sensor type. The value is fixed at **SensorId.ACCELEROMETER**. |
| callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | Yes | Callback used to report the sensor data, which is an **AccelerometerResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.ACCELEROMETER, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### ACCELEROMETER_UNCALIBRATED9+
once(type: SensorId.ACCELEROMETER_UNCALIBRATED, callback: Callback<AccelerometerUncalibratedResponse>): void
Obtains 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).ACCELEROMETER_UNCALIBRATED | Yes | Sensor type. The value is fixed at **SensorId.ACCELEROMETER_UNCALIBRATED**. |
| callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | Yes | Callback used to report the sensor data, which is an **AccelerometerUncalibratedResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking once. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking once. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking once. Z-coordinate bias: ' + data.biasZ);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### AMBIENT_LIGHT9+
once(type: SensorId.AMBIENT_LIGHT, callback: Callback<LightResponse>): void
Obtains data of the ambient light sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------------------- | ---- | --------------------------------------------------- |
| type | [SensorId](#sensorid9).AMBIENT_LIGHT | Yes | Sensor type. The value is fixed at **SensorId.AMBIENT_LIGHT**. |
| callback | Callback<[LightResponse](#lightresponse)> | Yes | Callback used to report the sensor data, which is a **LightResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.AMBIENT_LIGHT, function (data) {
console.info('Succeeded in invoking once. the ambient light intensity: ' + data.intensity);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### AMBIENT_TEMPERATURE9+
once(type: SensorId.AMBIENT_TEMPERATURE, callback: Callback<AmbientTemperatureResponse>): void
Obtains data of the temperature sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | [SensorId](#sensorid9).AMBIENT_TEMPERATURE | Yes | Sensor type. The value is fixed at **SensorId.AMBIENT_TEMPERATURE**. |
| callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | Yes | Callback used to report the sensor data, which is an **AmbientTemperatureResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.AMBIENT_TEMPERATURE, function (data) {
console.info('Succeeded in invoking once. Temperature: ' + data.temperature);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### BAROMETER9+
once(type: SensorId.BAROMETER, callback: Callback<BarometerResponse>): void
Obtains data of the barometer sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------- |
| type | [SensorId](#sensorid9).BAROMETER | Yes | Sensor type. The value is fixed at **SensorId.BAROMETER**. |
| callback | Callback<[BarometerResponse](#barometerresponse)> | Yes | Callback used to report the sensor data, which is a **BarometerResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.BAROMETER, function (data) {
console.info('Succeeded in invoking once. Atmospheric pressure: ' + data.pressure);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### GRAVITY9+
once(type: SensorId.GRAVITY, callback: Callback<GravityResponse>): void
Obtains data of the gravity sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | --------------------------------------------------- | ---- | ----------------------------------------------------- |
| type | [SensorId](#sensorid9).GRAVITY | Yes | Sensor type. The value is fixed at **SensorId.GRAVITY**. |
| callback | Callback<[GravityResponse](#gravityresponse)> | Yes | Callback used to report the sensor data, which is a **GravityResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.GRAVITY, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### GYROSCOPE9+
once(type: SensorId.GYROSCOPE, callback: Callback<GyroscopeResponse>): void
Obtains 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).GYROSCOPE | Yes | Sensor type. The value is fixed at **SensorId.GYROSCOPE**. |
| callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | Yes | Callback used to report the sensor data, which is a **GyroscopeResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
import sensor from '@ohos.sensor';
try {
sensor.once(sensor.SensorId.GYROSCOPE, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### GYROSCOPE_UNCALIBRATED9+
once(type: SensorId.GYROSCOPE_UNCALIBRATED, callback: Callback<GyroscopeUncalibratedResponse>): void
Obtains 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).GYROSCOPE_UNCALIBRATED | Yes | Sensor type. The value is fixed at **SensorId.GYROSCOPE_UNCALIBRATED**. |
| callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | Yes | Callback used to report the sensor data, which is a **GyroscopeUncalibratedResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.GYROSCOPE_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking once. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking once. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking once. Z-coordinate bias: ' + data.biasZ);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### HALL9+
once(type: SensorId.HALL, callback: Callback<HallResponse>): void
Obtains data of the Hall effect sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | --------------------------------------------- | ---- | -------------------------------------------------- |
| type | [SensorId](#sensorid9).HALL | Yes | Sensor type. The value is fixed at **SensorId.HALL**. |
| callback | Callback<[HallResponse](#hallresponse)> | Yes | Callback used to report the sensor data, which is a **HallResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.HALL, function (data) {
console.info('Succeeded in invoking once. Status: ' + data.status);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### HEART_RATE9+
once(type: SensorId.HEART_RATE, callback: Callback<HeartRateResponse>): void
Obtains 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).HEART_RATE | Yes | Sensor type. The value is fixed at **SensorId.HEART_RATE**. |
| callback | Callback<[HeartRateResponse](#heartrateresponse)> | Yes | Callback used to report the sensor data, which is a **HeartRateResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.HEART_RATE, function (data) {
console.info('Succeeded in invoking once. Heart rate: ' + data.heartRate);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### HUMIDITY9+
once(type: SensorId.HUMIDITY, callback: Callback<HumidityResponse>): void
Obtains data of the humidity sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------ |
| type | [SensorId](#sensorid9).HUMIDITY | Yes | Sensor type. The value is fixed at **SensorId.HUMIDITY**. |
| callback | Callback<[HumidityResponse](#humidityresponse)> | Yes | Callback used to report the sensor data, which is a **HumidityResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.HUMIDITY, function (data) {
console.info('Succeeded in invoking once. Humidity: ' + data.humidity);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### LINEAR_ACCELEROMETER9+
once(type: SensorId.LINEAR_ACCELEROMETER, callback: Callback<LinearAccelerometerResponse>): void
Obtains 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).LINEAR_ACCELEROMETER | Yes | Sensor type. The value is fixed at **SensorId.LINEAR_ACCELEROMETER**. |
| callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | Yes | Callback used to report the sensor data, which is a **LinearAccelerometerResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.LINEAR_ACCELEROMETER, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### MAGNETIC_FIELD9+
once(type: SensorId.MAGNETIC_FIELD, callback: Callback<MagneticFieldResponse>): void
Obtains data of the magnetic field sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------------------------- |
| type | [SensorId](#sensorid9).MAGNETIC_FIELD | Yes | Sensor type. The value is fixed at **SensorId.MAGNETIC_FIELD**. |
| callback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | Yes | Callback used to report the sensor data, which is a **MagneticFieldResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.MAGNETIC_FIELD, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### MAGNETIC_FIELD_UNCALIBRATED9+
once(type: SensorId.MAGNETIC_FIELD_UNCALIBRATED, callback: Callback<MagneticFieldUncalibratedResponse>): void
Obtains data of the uncalibrated magnetic field sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | [SensorId](#sensorid9).MAGNETIC_FIELD_UNCALIBRATED | Yes | Sensor type. The value is fixed at **SensorId.MAGNETIC_FIELD_UNCALIBRATED**.|
| callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | Yes | Callback used to report the sensor data, which is a **MagneticFieldUncalibratedResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking once. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking once. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking once. Z-coordinate bias: ' + data.biasZ);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### ORIENTATION9+
once(type: SensorId.ORIENTATION, callback: Callback<OrientationResponse>): void
Obtains data of the orientation sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------------------------------- | ---- | --------------------------------------------------------- |
| type | [SensorId](#sensorid9).ORIENTATION | Yes | Sensor type. The value is fixed at **SensorId.ORIENTATION**. |
| callback | Callback<[OrientationResponse](#orientationresponse)> | Yes | Callback used to report the sensor data, which is a **OrientationResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.ORIENTATION, function (data) {
console.info('Succeeded in the device rotating at an angle around the X axis: ' + data.beta);
console.info('Succeeded in the device rotating at an angle around the Y axis: ' + data.gamma);
console.info('Succeeded in the device rotating at an angle around the Z axis: ' + data.alpha);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### PEDOMETER9+
once(type: SensorId.PEDOMETER, callback: Callback<PedometerResponse>): void
Obtains 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).PEDOMETER | Yes | Sensor type. The value is fixed at **SensorId.PEDOMETER**. |
| callback | Callback<[PedometerResponse](#pedometerresponse)> | Yes | Callback used to report the sensor data, which is a **PedometerResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.PEDOMETER, function (data) {
console.info('Succeeded in invoking once. Step count: ' + data.steps);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### PEDOMETER_DETECTION9+
once(type: SensorId.PEDOMETER_DETECTION, callback: Callback<PedometerDetectionResponse>): void
Obtains 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).PEDOMETER_DETECTION | Yes | Sensor type. The value is fixed at **SensorId.PEDOMETER_DETECTION**. |
| callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | Yes | Callback used to report the sensor data, which is a **PedometerDetectionResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.PEDOMETER_DETECTION, function (data) {
console.info('Succeeded in invoking once. Scalar data: ' + data.scalar);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### PROXIMITY9+
once(type: SensorId.PROXIMITY, callback: Callback<ProximityResponse>): void
Obtains data of the proximity sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------- |
| type | [SensorId](#sensorid9).PROXIMITY | Yes | Sensor type. The value is fixed at **SensorId.PROXIMITY**. |
| callback | Callback<[ProximityResponse](#proximityresponse)> | Yes | Callback used to report the sensor data, which is a **ProximityResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.PROXIMITY, function (data) {
console.info('Succeeded in invoking once. Distance: ' + data.distance);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### ROTATION_VECTOR9+
once(type: SensorId.ROTATION_VECTOR, callback: Callback<RotationVectorResponse>): void
Obtains data of the rotation vector sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | [SensorId](#sensorid9).ROTATION_VECTOR | Yes | Sensor type. The value is fixed at **SensorId.ROTATION_VECTOR**. |
| callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | Yes | Callback used to report the sensor data, which is a **RotationVectorResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.ROTATION_VECTOR, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking once. Scalar quantity: ' + data.w);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### SIGNIFICANT_MOTION9+
once(type: SensorId.SIGNIFICANT_MOTION, callback: Callback<SignificantMotionResponse>): void
Obtains data of the significant motion sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | [SensorId](#sensorid9).SIGNIFICANT_MOTION | Yes | Sensor type. The value is fixed at **SensorId.SIGNIFICANT_MOTION**. |
| callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | Yes | Callback used to report the sensor data, which is a **SignificantMotionResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.SIGNIFICANT_MOTION, function (data) {
console.info('Succeeded in invoking once. Scalar data: ' + data.scalar);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
### WEAR_DETECTION9+
once(type: SensorId.WEAR_DETECTION, callback: Callback<WearDetectionResponse>): void
Obtains data of the wear detection sensor once.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------------------------- |
| type | [SensorId](#sensorid9).WEAR_DETECTION | Yes | Sensor type. The value is fixed at **SensorId.WEAR_DETECTION**. |
| callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | Yes | Callback used to report the sensor data, which is a **WearDetectionResponse** object.|
**Error codes**
For details about the following error codes, see [Sensor Error Codes](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.once(sensor.SensorId.WEAR_DETECTION, function (data) {
console.info('Succeeded in invoking once. Wear status: ' + data.value);
});
} catch (error) {
console.error(`Failed to invoke once. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.off
### COLOR10+
off(type: SensorId.COLOR, callback?: Callback\): void
Unsubscribes from data of the color sensor.
**System capability**: SystemCapability.Sensors.Sensor
**System API**: This is a system API.
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | [SensorId](#sensorid9).COLOR | Yes | Sensor type. The value is fixed at **SensorId.COLOR**. |
| callback | Callback<[ColorResponse](#colorresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.COLOR, callback1);
sensor.on(sensor.SensorId.COLOR, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.COLOR, callback1);
// Unsubscribe from all callbacks of the SensorId.COLOR type.
sensor.off(sensor.SensorId.COLOR);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.message}`);
}
```
### SAR10+
off(type: SensorId.SAR, callback?: Callback\): void
Unsubscribes from data of the SAR sensor.
**System capability**: SystemCapability.Sensors.Sensor
**System API**: This is a system API.
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| type | [SensorId](#sensorid9).SAR | Yes | Sensor type. The value is fixed at **SensorId.SAR**. |
| callback | Callback<[SarResponse](#sarresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.SAR, callback1);
sensor.on(sensor.SensorId.SAR, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.SAR, callback1);
// Unsubscribe from all callbacks of the SensorId.SAR type.
sensor.off(sensor.SensorId.SAR);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.message}`);
}
```
### 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).ACCELEROMETER | Yes | Sensor type. The value is fixed at **SensorId.ACCELEROMETER**. |
| callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.ACCELEROMETER, callback1);
sensor.on(sensor.SensorId.ACCELEROMETER, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.ACCELEROMETER, callback1);
// Unsubscribe from all callbacks of the SensorId.ACCELEROMETER type.
sensor.off(sensor.SensorId.ACCELEROMETER);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).ACCELEROMETER_UNCALIBRATED | Yes | Sensor type. The value is fixed at **SensorId.ACCELEROMETER_UNCALIBRATED**. |
| callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, callback1);
sensor.on(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, callback1);
// Unsubscribe from all callbacks of the SensorId.ACCELEROMETER_UNCALIBRATED type.
sensor.off(sensor.SensorId.ACCELEROMETER_UNCALIBRATED);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).AMBIENT_LIGHT | Yes | Sensor type. The value is fixed at **SensorId.AMBIENT_LIGHT**. |
| callback | Callback<[LightResponse](#lightresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.AMBIENT_LIGHT, callback1);
sensor.on(sensor.SensorId.AMBIENT_LIGHT, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.AMBIENT_LIGHT, callback1);
// Unsubscribe from all callbacks of the SensorId.AMBIENT_LIGHT type.
sensor.off(sensor.SensorId.AMBIENT_LIGHT);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).AMBIENT_TEMPERATURE | Yes | Sensor type. The value is fixed at **SensorId.AMBIENT_TEMPERATURE**. |
| callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.AMBIENT_TEMPERATURE, callback1);
sensor.on(sensor.SensorId.AMBIENT_TEMPERATURE, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.AMBIENT_TEMPERATURE, callback1);
// Unsubscribe from all callbacks of the SensorId.AMBIENT_TEMPERATURE type.
sensor.off(sensor.SensorId.AMBIENT_TEMPERATURE);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).BAROMETER | Yes | Sensor type. The value is fixed at **SensorId.BAROMETER**. |
| callback | Callback<[BarometerResponse](#barometerresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.BAROMETER, callback1);
sensor.on(sensor.SensorId.BAROMETER, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.BAROMETER, callback1);
// Unsubscribe from all callbacks of the SensorId.BAROMETER type.
sensor.off(sensor.SensorId.BAROMETER);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).GRAVITY | Yes | Sensor type. The value is fixed at **SensorId.GRAVITY**. |
| callback | Callback<[GravityResponse](#gravityresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.GRAVITY, callback1);
sensor.on(sensor.SensorId.GRAVITY, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.GRAVITY, callback1);
// Unsubscribe from all callbacks of the SensorId.GRAVITY type.
sensor.off(sensor.SensorId.GRAVITY);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).GYROSCOPE | Yes | Sensor type. The value is fixed at **SensorId.GYROSCOPE**. |
| callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.GYROSCOPE, callback1);
sensor.on(sensor.SensorId.GYROSCOPE, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.GYROSCOPE, callback1);
// Unsubscribe from all callbacks of the SensorId.GYROSCOPE type.
sensor.off(sensor.SensorId.GYROSCOPE);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).GYROSCOPE_UNCALIBRATED | Yes | Sensor type. The value is fixed at **SensorId.GYROSCOPE_UNCALIBRATED**. |
| callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.GYROSCOPE_UNCALIBRATED, callback1);
sensor.on(sensor.SensorId.GYROSCOPE_UNCALIBRATED, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.GYROSCOPE_UNCALIBRATED, callback1);
// Unsubscribe from all callbacks of the SensorId.GYROSCOPE_UNCALIBRATED type.
sensor.off(sensor.SensorId.GYROSCOPE_UNCALIBRATED);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).HALL | Yes | Sensor type. The value is fixed at **SensorId.HALL**. |
| callback | Callback<[HallResponse](#hallresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.HALL, callback1);
sensor.on(sensor.SensorId.HALL, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.HALL, callback1);
// Unsubscribe from all callbacks of the SensorId.HALL type.
sensor.off(sensor.SensorId.HALL);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).HEART_RATE | Yes | Sensor type. The value is fixed at **SensorId.HEART_RATE**. |
| callback | Callback<[HeartRateResponse](#heartrateresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.HEART_RATE, callback1);
sensor.on(sensor.SensorId.HEART_RATE, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.HEART_RATE, callback1);
// Unsubscribe from all callbacks of the SensorId.HEART_RATE type.
sensor.off(sensor.SensorId.HEART_RATE);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).HUMIDITY | Yes | Sensor type. The value is fixed at **SensorId.HUMIDITY**. |
| callback | Callback<[HumidityResponse](#humidityresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.HUMIDITY, callback1);
sensor.on(sensor.SensorId.HUMIDITY, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.HUMIDITY, callback1);
// Unsubscribe from all callbacks of the SensorId.HUMIDITY type.
sensor.off(sensor.SensorId.HUMIDITY);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).LINEAR_ACCELEROMETER | Yes | Sensor type. The value is fixed at **SensorId.LINEAR_ACCELERATION**. |
| callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.LINEAR_ACCELEROMETER, callback1);
sensor.on(sensor.SensorId.LINEAR_ACCELEROMETER, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.LINEAR_ACCELEROMETER, callback1);
// Unsubscribe from all callbacks of the SensorId.LINEAR_ACCELEROMETER type.
sensor.off(sensor.SensorId.LINEAR_ACCELEROMETER);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).MAGNETIC_FIELD | Yes | Sensor type. The value is fixed at **SensorId.MAGNETIC_FIELD**. |
| callback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.MAGNETIC_FIELD, callback1);
sensor.on(sensor.SensorId.MAGNETIC_FIELD, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.MAGNETIC_FIELD, callback1);
// Unsubscribe from all callbacks of the SensorId.MAGNETIC_FIELD type.
sensor.off(sensor.SensorId.MAGNETIC_FIELD);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).MAGNETIC_FIELD_UNCALIBRATED | Yes | Sensor type. The value is fixed at **SensorId.MAGNETIC_FIELD_UNCALIBRATED**.|
| callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, callback1);
sensor.on(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, callback1);
// Unsubscribe from all callbacks of the SensorId.MAGNETIC_FIELD_UNCALIBRATED type.
sensor.off(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).ORIENTATION | Yes | Sensor type. The value is fixed at **SensorId.ORIENTATION**. |
| callback | Callback<[OrientationResponse](#orientationresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.ORIENTATION, callback1);
sensor.on(sensor.SensorId.ORIENTATION, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.ORIENTATION, callback1);
// Unsubscribe from all callbacks of the SensorId.ORIENTATION type.
sensor.off(sensor.SensorId.ORIENTATION);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).PEDOMETER | Yes | Sensor type. The value is fixed at **SensorId.PEDOMETER**. |
| callback | Callback<[PedometerResponse](#pedometerresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.PEDOMETER, callback1);
sensor.on(sensor.SensorId.PEDOMETER, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.PEDOMETER, callback1);
// Unsubscribe from all callbacks of the SensorId.PEDOMETER type.
sensor.off(sensor.SensorId.PEDOMETER);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).PEDOMETER_DETECTION | Yes | Sensor type. The value is fixed at **SensorId.PEDOMETER_DETECTION**. |
| callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback1);
sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.PEDOMETER_DETECTION, callback1);
// Unsubscribe from all callbacks of the SensorId.PEDOMETER_DETECTION type.
sensor.off(sensor.SensorId.PEDOMETER_DETECTION);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).PROXIMITY | Yes | Sensor type. The value is fixed at **SensorId.PROXIMITY**. |
| callback | Callback<[ProximityResponse](#proximityresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.PROXIMITY, callback1);
sensor.on(sensor.SensorId.PROXIMITY, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.PROXIMITY, callback1);
// Unsubscribe from all callbacks of the SensorId.PROXIMITY type.
sensor.off(sensor.SensorId.PROXIMITY);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).ROTATION_VECTOR | Yes | Sensor type. The value is fixed at **SensorId.ROTATION_VECTOR**. |
| callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.ROTATION_VECTOR, callback1);
sensor.on(sensor.SensorId.ROTATION_VECTOR, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.ROTATION_VECTOR, callback1);
// Unsubscribe from all callbacks of the SensorId.ROTATION_VECTOR type.
sensor.off(sensor.SensorId.ROTATION_VECTOR);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).SIGNIFICANT_MOTION | Yes | Sensor type. The value is fixed at **SensorId.SIGNIFICANT_MOTION**. |
| callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.SIGNIFICANT_MOTION, callback1);
sensor.on(sensor.SensorId.SIGNIFICANT_MOTION, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.SIGNIFICANT_MOTION, callback1);
// Unsubscribe from all callbacks of the SensorId.SIGNIFICANT_MOTION type.
sensor.off(sensor.SensorId.SIGNIFICANT_MOTION);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.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).WEAR_DETECTION | Yes | Sensor type. The value is fixed at **SensorId.WEAR_DETECTION**. |
| callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback1(data) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data) {
console.info('Succeeded in getting callback2 data: ' + JSON.stringify(data));
}
try {
sensor.on(sensor.SensorId.WEAR_DETECTION, callback1);
sensor.on(sensor.SensorId.WEAR_DETECTION, callback2);
// Unsubscribe from callback1.
sensor.off(sensor.SensorId.WEAR_DETECTION, callback1);
// Unsubscribe from all callbacks of the SensorId.WEAR_DETECTION type.
sensor.off(sensor.SensorId.WEAR_DETECTION);
} catch (error) {
console.error(`Failed to invoke off. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getGeomagneticInfo9+
getGeomagneticInfo(locationOptions: LocationOptions, timeMillis: number, callback: AsyncCallback<GeomagneticResponse>): void
Obtains the geomagnetic field of a geographic location at a certain time. 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, including the longitude, latitude, and altitude. |
| timeMillis | number | Yes | Time when the magnetic declination is obtained. The value is a Unix timestamp, in ms.|
| callback | AsyncCallback<[GeomagneticResponse](#geomagneticresponse)> | Yes | Callback used to return the geomagnetic field. |
**Error codes**
For details about the following error codes, see [Error Codes of sensor.getGeomagneticInfo](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.getGeomagneticInfo({ latitude: 80, longitude: 0, altitude: 0 }, 1580486400000, function (err, data) {
if (err) {
console.error(`Failed to get geomagneticInfo. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info("Succeeded in getting geomagneticInfo x" + data.x);
console.info("Succeeded in getting geomagneticInfo y" + data.y);
console.info("Succeeded in getting geomagneticInfo z" + data.z);
console.info("Succeeded in getting geomagneticInfo geomagneticDip" + data.geomagneticDip);
console.info("Succeeded in getting geomagneticInfo deflectionAngle" + data.deflectionAngle);
console.info("Succeeded in getting geomagneticInfo levelIntensity" + data.levelIntensity);
console.info("Succeeded in getting geomagneticInfo totalIntensity" + data.totalIntensity);
});
} catch (error) {
console.error(`Failed to get geomagneticInfo. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getGeomagneticInfo9+
getGeomagneticInfo(locationOptions: LocationOptions, timeMillis: number): Promise<GeomagneticResponse>
Obtains the geomagnetic field of a geographic location at a certain time. 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, including the longitude, latitude, and altitude. |
| timeMillis | number | Yes | Time when the magnetic declination is obtained. The value is a Unix timestamp, in ms.|
**Return value**
| Type | Description |
| ---------------------------------------------------------- | -------------- |
| Promise<[GeomagneticResponse](#geomagneticresponse)> | Promise used to return the geomagnetic field.|
**Error codes**
For details about the following error codes, see [Error Codes of sensor.getGeomagneticInfo](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
const promise = sensor.getGeomagneticInfo({ latitude: 80, longitude: 0, altitude: 0 }, 1580486400000);
promise.then((data) => {
console.info("Succeeded in getting geomagneticInfo x" + data.x);
console.info("Succeeded in getting geomagneticInfo y" + data.y);
console.info("Succeeded in getting geomagneticInfo z" + data.z);
console.info("Succeeded in getting geomagneticInfo geomagneticDip" + data.geomagneticDip);
console.info("Succeeded in getting geomagneticInfo deflectionAngle" + data.deflectionAngle);
console.info("Succeeded in getting geomagneticInfo levelIntensity" + data.levelIntensity);
console.info("Succeeded in getting geomagneticInfo totalIntensity" + data.totalIntensity);
}, (err) => {
console.error(`Failed to get geomagneticInfo. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to get geomagneticInfo. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getDeviceAltitude9+
getDeviceAltitude(seaPressure: number, currentPressure: number, callback: AsyncCallback<number>): void
Obtains the altitude based on the 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 | Specified atmospheric pressure, in hPa.|
| callback | AsyncCallback<number> | Yes | Callback used to return the altitude, in meters. |
**Error codes**
For details about the following error codes, see [Error Codes of sensor.getDeviceAltitude](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let seaPressure = 1013.2;
let currentPressure = 1500.0;
sensor.getDeviceAltitude(seaPressure, currentPressure, function (err, data) {
if (err) {
console.error(`Failed to get altitude. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info('Succeeded in getting altitude: ' + data);
});
} catch (error) {
console.error(`Failed to get altitude. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getDeviceAltitude9+
getDeviceAltitude(seaPressure: number, currentPressure: number): Promise<number>
Obtains the altitude based on the 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 | Specified atmospheric pressure, in hPa.|
**Return value**
| Type | Description |
| --------------------- | ------------------------------------ |
| Promise<number> | Promise used to return the altitude, in meters.|
**Error codes**
For details about the following error codes, see [Error Codes of sensor.getDeviceAltitude](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let seaPressure = 1013.2;
let currentPressure = 1500.0;
const promise = sensor.getDeviceAltitude(seaPressure, currentPressure);
promise.then((data) => {
console.info('Succeeded in getting sensor_getDeviceAltitude_Promise', data);
}, (err) => {
console.error(`Failed to get altitude. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to get altitude. Code: ${error.code}, message: ${error.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 codes**
For details about the following error codes, see [Error Codes of sensor.getInclination](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
// inclinationMatrix can be 3*3 or 4*4.
let inclinationMatrix = [
1, 0, 0,
0, 1, 0,
0, 0, 1
]
sensor.getInclination(inclinationMatrix, function (err, data) {
if (err) {
console.error(`Failed to get inclination. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info('Succeeded in getting inclination: ' + data);
})
} catch (error) {
console.error(`Failed to get inclination. Code: ${error.code}, message: ${error.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 codes**
For details about the following error codes, see [Error Codes of sensor.getInclination](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
// inclinationMatrix can be 3*3 or 4*4.
let inclinationMatrix = [
1, 0, 0,
0, 1, 0,
0, 0, 1
]
const promise = sensor.getInclination(inclinationMatrix);
promise.then((data) => {
console.info('Succeeded in getting inclination: ' + data);
}, (err) => {
console.error(`Failed to get inclination. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to get inclination. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getAngleVariation9+
getAngleVariation(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.
**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 codes**
For details about the following error codes, see [Error Codes of sensor.getAngleVariation](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
// The rotation matrix can be 3*3 or 4*4.
let currentRotationMatrix = [
1, 0, 0,
0, 1, 0,
0, 0, 1
];
let preRotationMatrix = [
1, 0, 0,
0, 0.87, -0.50,
0, 0.50, 0.87
];
sensor.getAngleVariation(currentRotationMatrix, preRotationMatrix, function (err, data) {
if (err) {
console.error(`Failed to get angle variation. Code: ${err.code}, message: ${err.message}`);
return;
}
if (data.length < 3) {
console.error("Failed to get angle variation, length" + data.length);
}
console.info("Z: " + data[0]);
console.info("X: " + data[1]);
console.info("Y : " + data[2]);
})
} catch (error) {
console.error(`Failed to get angle variation. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getAngleVariation9+
getAngleVariation(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.
**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 codes**
For details about the following error codes, see [Error Codes of sensor.getAngleVariation](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
// The rotation matrix can be 3*3 or 4*4.
let currentRotationMatrix = [
1, 0, 0,
0, 1, 0,
0, 0, 1
];
let preRotationMatrix = [
1, 0, 0,
0, 0.87, -0.50,
0, 0.50, 0.87
];
const promise = sensor.getAngleVariation(currentRotationMatrix, preRotationMatrix);
promise.then((data) => {
if (data.length < 3) {
console.error("Failed to get angle variation, length" + data.length);
}
console.info("Z: " + data[0]);
console.info("X: " + data[1]);
console.info("Y : " + data[2]);
}, (err) => {
console.error(`Failed to get angle variation. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to get angle variation. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getRotationMatrix9+
getRotationMatrix(rotationVector: Array<number>, callback: AsyncCallback<Array<number>>): 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 codes**
For details about the following error codes, see [Error Codes of sensor.getRotationMatrix](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let rotationVector = [0.20046076, 0.21907, 0.73978853, 0.60376877];
sensor.getRotationMatrix(rotationVector, function (err, data) {
if (err) {
console.error(`Failed to get rotationMatrix. Code: ${err.code}, message: ${err.message}`);
return;
}
for (var i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
})
} catch (error) {
console.error(`Failed to get rotationMatrix. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getRotationMatrix9+
getRotationMatrix(rotationVector: Array<number>): Promise<Array<number>>
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 codes**
For details about the following error codes, see [Error Codes of sensor.getRotationMatrix](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let rotationVector = [0.20046076, 0.21907, 0.73978853, 0.60376877];
const promise = sensor.getRotationMatrix(rotationVector);
promise.then((data) => {
for (var i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
}, (err) => {
console.error(`Failed to get rotationMatrix. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to get rotationMatrix. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.transformRotationMatrix9+
transformRotationMatrix(inRotationVector: Array<number>, coordinates: CoordinatesOptions,
callback: AsyncCallback<Array<number>>): void
Transforms a rotation vector based on the coordinate system. 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. |
| coordinates | [CoordinatesOptions](#coordinatesoptions) | Yes | Rotation vector to transform. |
| callback | AsyncCallback<Array<number>> | Yes | Callback used to return the rotation vector after being transformed.|
**Error codes**
For details about the following error codes, see [Error Codes of sensor.transformRotationMatrix](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let rotationMatrix = [
1, 0, 0,
0, 0.87, -0.50,
0, 0.50, 0.87
];
sensor.transformRotationMatrix(rotationMatrix, { x: 1, y: 3 }, function (err, data) {
if (err) {
console.error(`Failed to transform rotationMatrix. Code: ${err.code}, message: ${err.message}`);
return;
}
for (var i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + '] = ' + data[i]);
}
})
} catch (error) {
console.error(`Failed to transform rotationMatrix. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.transformRotationMatrix9+
transformRotationMatrix(inRotationVector: Array<number>, coordinates: CoordinatesOptions): Promise<Array<number>>
Transforms a rotation vector based on the coordinate system. 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. |
| coordinates | [CoordinatesOptions](#coordinatesoptions) | Yes | Rotation vector to transform.|
**Return value**
| Type | Description |
| ---------------------------------- | ---------------------- |
| Promise<Array<number>> | Promise used to return the rotation vector after being transformed.|
**Error codes**
For details about the following error codes, see [Error Codes of sensor.transformRotationMatrix](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let rotationMatrix = [
1, 0, 0,
0, 0.87, -0.50,
0, 0.50, 0.87
];
const promise = sensor.transformRotationMatrix(rotationMatrix, { x: 1, y: 3 });
promise.then((data) => {
for (var i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
}, (err) => {
console.error(`Failed to transform rotationMatrix. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to transform rotationMatrix. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getQuaternion9+
getQuaternion(rotationVector: Array<number>, callback: AsyncCallback<Array<number>>): 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 codes**
For details about the following error codes, see [Error Codes of sensor.getQuaternion](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let rotationVector = [0.20046076, 0.21907, 0.73978853, 0.60376877];
sensor.getQuaternion(rotationVector, function (err, data) {
if (err) {
console.error(`Failed to get quaternion. Code: ${err.code}, message: ${err.message}`);
return;
}
for (var i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
})
} catch (error) {
console.error(`Failed to get quaternion. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getQuaternion9+
getQuaternion(rotationVector: Array<number>): Promise<Array<number>>
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>> | Promise used to return the quaternion.|
**Error codes**
For details about the following error codes, see [Error Codes of sensor.getQuaternion](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let rotationVector = [0.20046076, 0.21907, 0.73978853, 0.60376877];
const promise = sensor.getQuaternion(rotationVector);
promise.then((data) => {
for (var i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
}, (err) => {
console.error(`Failed to get quaternion. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to get quaternion. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getOrientation9+
getOrientation(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.
**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 codes**
For details about the following error codes, see [Error Codes of sensor.getOrientation](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let preRotationMatrix = [
1, 0, 0,
0, 0.87, -0.50,
0, 0.50, 0.87
];
sensor.getOrientation(preRotationMatrix, function (err, data) {
if (err) {
console.error(`Failed to get orientation. Code: ${err.code}, message: ${err.message}`);
return;
}
if (data.length < 3) {
console.error("Failed to get orientation, length" + data.length);
}
console.info("Succeeded in getting data. Z: " + data[0]);
console.info("Succeeded in getting data. X: " + data[1]);
console.info("Succeeded in getting data. Y: " + data[2]);
})
} catch (error) {
console.error(`Failed to get orientation. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getOrientation9+
getOrientation(rotationMatrix: Array<number>): Promise<Array<number>>
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 codes**
For details about the following error codes, see [Error Codes of sensor.getOrientation](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let preRotationMatrix = [
1, 0, 0,
0, 0.87, -0.50,
0, 0.50, 0.87
];
const promise = sensor.getOrientation(preRotationMatrix);
promise.then((data) => {
for (var i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
}, (err) => {
console.error(`Failed to getOrientatin. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to getOrientatin Code: ${error.code}, message: ${error.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 codes**
For details about the following error codes, see [Error Codes of sensor.getRotationMatrix](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let gravity = [-0.27775216, 0.5351276, 9.788099];
let geomagnetic = [210.87253, -78.6096, -111.44444];
sensor.getRotationMatrix(gravity, geomagnetic, function (err, data) {
if (err) {
console.error(`Failed to get rotationMatrix. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info('Succeeded in getting rotationMatrix' + JSON.stringify(data));
})
} catch (error) {
console.error(`Failed to get rotationMatrix. Code: ${error.code}, message: ${error.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 codes**
For details about the following error codes, see [Error Codes of sensor.getRotationMatrix](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
let gravity = [-0.27775216, 0.5351276, 9.788099];
let geomagnetic = [210.87253, -78.6096, -111.44444];
const promise = sensor.getRotationMatrix(gravity, geomagnetic);
promise.then((data) => {
console.info('Succeeded in getting rotationMatrix' + JSON.stringify(data));
}, (err) => {
console.error(`Failed to get rotationMatrix. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to get rotationMatrix. Code: ${error.code}, message: ${error.message}`);
}
```
## sensor.getSensorList9+
getSensorList(callback: AsyncCallback<Array<Sensor>>): 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<Array<[Sensor](#sensor9)>> | Yes | Callback used to return the sensor list.|
**Error codes**
For details about the following error codes, see [Error Codes of sensor.getSensorList](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.getSensorList((err, data) => {
if (err) {
console.error(`Failed to get sensorList. Code: ${err.code}, message: ${err.message}`);
return;
}
for (var i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + JSON.stringify(data[i]));
}
});
} catch (error) {
console.error(`Failed to get sensorList. Code: ${error.code}, message: ${error.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<Array<[Sensor](#sensor9)>> | Yes | Promise used to return the sensor list.|
**Error codes**
For details about the following error codes, see [Error Codes of sensor.getSensorList](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.getSensorList().then((data) => {
for (var i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + JSON.stringify(data[i]));
}
}, (err) => {
console.error(`Failed to get sensorList. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to get sensorList. Code: ${error.code}, message: ${error.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 codes**
For details about the following error codes, see [Error Codes of sensor.getSingleSensor](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.getSingleSensor(sensor.SensorId.ACCELEROMETER, (err, data) => {
if (err) {
console.error(`Failed to get singleSensor. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info('Succeeded in getting sensor: ' + JSON.stringify(data));
});
} catch (error) {
console.error(`Failed to get singleSensor. Code: ${error.code}, message: ${error.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 codes**
For details about the following error codes, see [Error Codes of sensor.getSingleSensor](../errorcodes/errorcode-sensor.md).
| ID| Error Message |
| -------- | ------------------ |
| 14500101 | Service exception. |
**Example**
```ts
try {
sensor.getSingleSensor(sensor.SensorId.ACCELEROMETER).then((data) => {
console.info('Succeeded in getting sensor: ' + JSON.stringify(data));
}, (err) => {
console.error(`Failed to get singleSensor . Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`Failed to get singleSensor . Code: ${error.code}, message: ${error.message}`);
}
```
## SensorId9+
Enumerates the sensor types.
**System capability**: SystemCapability.Sensors.Sensor
| Name | 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. |
| COLOR10+ | 14 | Color sensor.
System API: This is a system API. |
| SAR10+ | 15 | Sodium Adsorption Ratio (SAR) sensor.
System API: This is a system API.|
| 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 | 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| Readable| Writable| Description |
| --------------- | -------- | ---------------------- | ---------------------- | ---------------------- |
| sensorName | string | Yes | Yes | Sensor name. |
| vendorName | string | Yes | Yes | Vendor of the sensor. |
| firmwareVersion | string | Yes | Yes | Firmware version of the sensor. |
| hardwareVersion | string | Yes | Yes | Hardware version of the sensor. |
| sensorId | number | Yes | Yes | Sensor type ID. |
| maxRange | number | Yes | Yes | Maximum measurement range of the sensor.|
| minSamplePeriod | number | Yes | Yes | Minimum sampling period. |
| maxSamplePeriod | number | Yes | Yes | Maximum sampling period. |
| precision | number | Yes | Yes | Precision of the sensor. |
| power | number | Yes | Yes | Power of the sensor. |
## ColorResponse10+
Describes the color sensor data. It extends from [Response](#response).
**System capability**: SystemCapability.Sensors.Sensor
**System API**: This is a system API.
| Name | Type | Readable| Writable| Description |
| ---------------- | ------ | ---- | ---- | ----------------------------- |
| lightIntensity | number | Yes | Yes | Intensity of light, in lux.|
| colorTemperature | number | Yes | Yes | Color temperature, in Kelvin. |
## SarResponse10+
Describes the SAR sensor data. It extends from [Response](#response).
**System capability**: SystemCapability.Sensors.Sensor
**System API**: This is a system API.
| Name | Type | Readable| Writable| Description |
| --------------- | ------ | ---- | ---- | ------------------------------- |
| absorptionRatio | number | Yes | Yes | Absorption ratio, in W/kg.|
## 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/s².|
| y | number | Yes | Yes | Acceleration along the y-axis of the device, in m/s².|
| z | number | Yes | Yes | Acceleration along the z-axis of the device, in m/s².|
## 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/s².|
| y | number | Yes | Yes | Linear acceleration along the y-axis of the device, in m/s².|
| z | number | Yes | Yes | Linear acceleration along the z-axis of the device, in m/s².|
## 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/s². |
| y | number | Yes | Yes | Uncalibrated acceleration along the y-axis of the device, in m/s². |
| z | number | Yes | Yes | Uncalibrated acceleration along the z-axis of the device, in m/s². |
| biasX | number | Yes | Yes | Uncalibrated acceleration bias along the x-axis of the device, in m/s². |
| biasY | number | Yes | Yes | Uncalibrated acceleration bias along the y-axis of the device, in m/s².|
| biasZ | number | Yes | Yes | Uncalibrated acceleration bias along the z-axis of the device, in m/s². |
## 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/s².|
| y | number | Yes | Yes | Gravitational acceleration along the y-axis of the device, in m/s².|
| z | number | Yes | Yes | Gravitational acceleration along the z-axis of the device, in m/s².|
## 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 | Readable| Writable| Description |
| -------- | ------ | ---- | ---- | ------------------------------------------- |
| interval | number | Yes | Yes | 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).SENSOR_TYPE_ID_ACCELEROMETER | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_LINEAR_ACCELERATION | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
### 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).SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking on. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking on. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking on. Z-coordinate bias: ' + data.biasZ);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_GRAVITY | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_GYROSCOPE | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking on. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking on. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking on. Z-coordinate bias: ' + data.biasZ);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_SIGNIFICANT_MOTION | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, function (data) {
console.info('Succeeded in invoking on. Scalar data: ' + data.scalar);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_PEDOMETER_DETECTION | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, function (data) {
console.info('Succeeded in invoking on. Scalar data: ' + data.scalar);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_PEDOMETER | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER, function (data) {
console.info('Succeeded in invoking on. Steps: ' + data.steps);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_AMBIENT_TEMPERATURE | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, function (data) {
console.info('Succeeded in invoking on. Temperature: ' + data.temperature);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_MAGNETIC_FIELD | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking on. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking on. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking on. Z-coordinate bias: ' + data.biasZ);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_PROXIMITY | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY, function (data) {
console.info('Succeeded in invoking on. Distance: ' + data.distance);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_HUMIDITY | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY, function (data) {
console.info('Succeeded in invoking on. Humidity: ' + data.humidity);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_BAROMETER | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, function (data) {
console.info('Succeeded in invoking on. Atmospheric pressure: ' + data.pressure);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_HALL | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HALL, function (data) {
console.info('Succeeded in invoking on. Status: ' + data.status);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_AMBIENT_LIGHT | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns.|
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, function (data) {
console.info('Succeeded in invoking on. Illumination: ' + data.intensity);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_ORIENTATION | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION, function (data) {
console.info('Succeeded in the device rotating at an angle around the X axis: ' + data.beta);
console.info('Succeeded in the device rotating at an angle around the Y axis: ' + data.gamma);
console.info('Succeeded in the device rotating at an angle around the Z axis: ' + data.alpha);
},
{ interval: 100000000 }
);
```
### HEART_RATE(deprecated)
on(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback<HeartRateResponse>, options?: Options): void
Subscribes to data changes of the heart rate 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.HEART_RATE](#heart_rate9) instead.
**Required permissions**: ohos.permission.HEALTH_DATA
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype).SENSOR_TYPE_ID_HEART_RATE | Yes | Type of the sensor to subscribe to, which is **SENSOR_TYPE_ID_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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
### 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).SENSOR_TYPE_ID_ROTATION_VECTOR | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, function (data) {
console.info('Succeeded in invoking on. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking on. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking on. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking on. Scalar quantity: ' + data.w);
},
{ interval: 100000000 }
);
```
### 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).SENSOR_TYPE_ID_WEAR_DETECTION | 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 | List of optional parameters. This parameter is used to set the data reporting frequency. The default value is 200,000,000 ns. |
**Example**
```ts
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, function (data) {
console.info('Succeeded in invoking on. Wear status: ' + data.value);
},
{ interval: 100000000 }
);
```
## 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).SENSOR_TYPE_ID_ACCELEROMETER | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. 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-1) instead.
**Required permissions**: ohos.permission.ACCELERATION
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype).SENSOR_TYPE_ID_LINEAR_ACCELERATION | 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**.|
### 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).SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking once. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking once. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_GRAVITY | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_GYROSCOPE | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, function(data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking once. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking once. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_SIGNIFICANT_MOTION | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, function (data) {
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_PEDOMETER_DETECTION | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, function (data) {
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_PEDOMETER | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER, function (data) {
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_AMBIENT_TEMPERATURE | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, function (data) {
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_MAGNETIC_FIELD | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking once. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking once. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_PROXIMITY | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY, function (data) {
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_HUMIDITY | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY, function (data) {
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_BAROMETER | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, function (data) {
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_HALL | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HALL, function (data) {
console.info('Succeeded in invoking once. 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).SENSOR_TYPE_ID_AMBIENT_LIGHT | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, function (data) {
console.info('Succeeded in invoking once. invoking once. 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).SENSOR_TYPE_ID_ORIENTATION | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION, function (data) {
console.info('Succeeded in invoking the device rotateing at an angle around the X axis: ' + data.beta);
console.info('Succeeded in invoking the device rotateing at an angle around the Y axis: ' + data.gamma);
console.info('Succeeded in invoking the device rotateing 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).SENSOR_TYPE_ID_ROTATION_VECTOR | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, function (data) {
console.info('Succeeded in invoking once. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking once. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking once. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking once. 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_RATE](#heart_rate9-1) instead.
**Required permissions**: ohos.permission.HEART_RATE
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype).SENSOR_TYPE_ID_HEART_RATE | 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**.|
### 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).SENSOR_TYPE_ID_WEAR_DETECTION | 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**
```ts
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, function (data) {
console.info("Succeeded in invoking once. 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).SENSOR_TYPE_ID_ACCELEROMETER | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_ACCELEROMETER**.|
| callback | Callback<[AccelerometerResponse](#accelerometerresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking off. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED**.|
| callback | Callback<[AccelerometerUncalibratedResponse](#accelerometeruncalibratedresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking off. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking off. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking off. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking off. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_AMBIENT_LIGHT | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_AMBIENT_LIGHT**.|
| callback | Callback<[LightResponse](#lightresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_AMBIENT_TEMPERATURE | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_AMBIENT_TEMPERATURE**.|
| callback | Callback<[AmbientTemperatureResponse](#ambienttemperatureresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_BAROMETER | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_BAROMETER**. |
| callback | Callback<[BarometerResponse](#barometerresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_GRAVITY | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_GRAVITY**. |
| callback | Callback<[GravityResponse](#gravityresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking off. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_GYROSCOPE | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_GYROSCOPE**. |
| callback | Callback<[GyroscopeResponse](#gyroscoperesponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking off. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED**.|
| callback | Callback<[GyroscopeUncalibratedResponse](#gyroscopeuncalibratedresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking off. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_HALL | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_HALL**. |
| callback | Callback<[HallResponse](#hallresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. 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_RATE](#heart_rate9-2) instead.
**Required permissions**: ohos.permission.HEALTH_DATA
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype).SENSOR_TYPE_ID_HEART_RATE | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_HEART_RATE**. |
| callback | Callback<[HeartRateResponse](#heartrateresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
### 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).SENSOR_TYPE_ID_HUMIDITY | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_HUMIDITY**. |
| callback | Callback<[HumidityResponse](#humidityresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. 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-2) instead.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | [SensorType](#sensortype).SENSOR_TYPE_ID_LINEAR_ACCELERATION | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_LINEAR_ACCELERATION**.|
| callback | Callback<[LinearAccelerometerResponse](#linearaccelerometerresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
### 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).SENSOR_TYPE_ID_MAGNETIC_FIELD | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD**. |
| callbackcallback | Callback<[MagneticFieldResponse](#magneticfieldresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking off. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED**.|
| callback | Callback<[MagneticFieldUncalibratedResponse](#magneticfielduncalibratedresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking off. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking off. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking off. X-coordinate bias: ' + data.biasX);
console.info('Succeeded in invoking off. Y-coordinate bias: ' + data.biasY);
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_ORIENTATION | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_ORIENTATION**. |
| callback | Callback<[OrientationResponse](#orientationresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. The device rotates at an angle around the X axis: ' + data.beta);
console.info('Succeeded in invoking off. The device rotates at an angle around the Y axis: ' + data.gamma);
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_PEDOMETER | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_PEDOMETER**. |
| callback | Callback<[PedometerResponse](#pedometerresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_PEDOMETER_DETECTION | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_PEDOMETER_DETECTION**.|
| callback | Callback<[PedometerDetectionResponse](#pedometerdetectionresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_PROXIMITY | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_PROXIMITY**. |
| callback | Callback<[ProximityResponse](#proximityresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_ROTATION_VECTOR | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_ROTATION_VECTOR**.|
| callback | Callback<[RotationVectorResponse](#rotationvectorresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. X-coordinate component: ' + data.x);
console.info('Succeeded in invoking off. Y-coordinate component: ' + data.y);
console.info('Succeeded in invoking off. Z-coordinate component: ' + data.z);
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_SIGNIFICANT_MOTION | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_SIGNIFICANT_MOTION**.|
| callback | Callback<[SignificantMotionResponse](#significantmotionresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function callback(data) {
console.info('Succeeded in invoking off. 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).SENSOR_TYPE_ID_WEAR_DETECTION | Yes | Type of the sensor to unsubscribe from, which is **SENSOR_TYPE_ID_WEAR_DETECTION**.|
| callback | Callback<[WearDetectionResponse](#weardetectionresponse)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
function accCallback(data) {
console.info('Succeeded in invoking off. 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**
```ts
sensor.transformCoordinateSystem([1, 0, 0, 0, 1, 0, 0, 0, 1], { x: 2, y: 3 }, function (err, data) {
if (err) {
console.error(`Failed to operate. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info("Succeeded in starting Operation. Data obtained: " + data);
for (var i = 0; i < data.length; i++) {
console.info("Succeeded in getting 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**
```ts
const promise = sensor.transformCoordinateSystem([1, 0, 0, 0, 1, 0, 0, 0, 1], { x: 2, y: 3 });
promise.then((data) => {
console.info("Succeeded in starting Operation");
for (var i = 0; i < data.length; i++) {
console.info("Succeeded in getting transformCoordinateSystem data[ " + i + "] = " + data[i]);
}
}).catch((err) => {
console.error(`Failed to operate.`);
})
```
## 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**
```ts
sensor.getGeomagneticField({ latitude: 80, longitude: 0, altitude: 0 }, 1580486400000, function (err, data) {
if (err) {
console.error(`Failed to operate. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info('Succeeded in getting 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**
```ts
const promise = sensor.getGeomagneticField({ latitude: 80, longitude: 0, altitude: 0 }, 1580486400000);
promise.then((data) => {
console.info('Succeeded in getting 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.error(`Failed to operate.`);
})
```
## 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**
```ts
sensor.getAltitude(0, 200, function (err, data) {
if (err) {
console.error(`Failed to operate. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info("Succeeded in getting 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**
```ts
const promise = sensor.getAltitude(0, 200);
promise.then((data) => {
console.info('Succeeded in getting sensor_getAltitude_Promise success', data);
}).catch((err) => {
console.error(`Failed to operate.`);
})
```
## 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**
```ts
sensor.getGeomagneticDip([1, 0, 0, 0, 1, 0, 0, 0, 1], function (err, data) {
if (err) {
console.error(`Failed to register data. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info("Succeeded in getting 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**
```ts
const promise = sensor.getGeomagneticDip([1, 0, 0, 0, 1, 0, 0, 0, 1]);
promise.then((data) => {
console.info('Succeeded in get GeomagneticDip_promise', data);
}).catch((err) => {
console.error(`Failed to operate.`);
})
```
## 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**
```ts
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. Code: ${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**
```ts
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('Succeeded in getting AngleModify_promise.');
for (var i = 0; i < data.length; i++) {
console.info("Succeeded in getting data[" + i + "]: " + data[i]);
}
}).catch((reason) => {
console.info("Succeeded in getting 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**
```ts
sensor.createRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877], function (err, data) {
if (err) {
console.error(`Failed to register data. Code: ${err.code}, message: ${err.message}`);
return;
}
for (var i = 0; i < data.length; i++) {
console.info("Succeeded in getting 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**
```ts
const promise = sensor.createRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877]);
promise.then((data) => {
console.info('Succeeded in getting createRotationMatrix_promise');
for (var i = 0; i < data.length; i++) {
console.info("data[" + i + "]: " + data[i]);
}
}).catch((reason) => {
console.info("Succeeded in getting 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**
```ts
sensor.createQuaternion([0.20046076, 0.21907, 0.73978853, 0.60376877], function (err, data) {
if (err) {
console.error(`Failed to register data. Code: ${err.code}, message: ${err.message}`);
return;
}
for (var i = 0; i < data.length; i++) {
console.info("Succeeded in getting 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**
```ts
const promise = sensor.createQuaternion([0.20046076, 0.21907, 0.73978853, 0.60376877]);
promise.then((data) => {
console.info('Succeeded in getting createQuaternion_promise');
for (var i = 0; i < data.length; i++) {
console.info("data[" + i + "]: " + data[i]);
}
}).catch((err) => {
console.info(`Failed to get promise.`);
})
```
## 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 | The other rotation matrix. |
| callback | AsyncCallback<Array<number>> | Yes | Callback used to return the rotation angle around the z, x, and y axes.|
**Example**
```ts
sensor.getDirection([1, 0, 0, 0, 1, 0, 0, 0, 1], function (err, data) {
if (err) {
console.error(`Failed to register data. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info("Succeeded in getting getDirection interface get data: " + data);
for (var i = 1; i < data.length; i++) {
console.info("Succeeded in getting 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 | The other rotation matrix.|
**Return value**
| Type | Description |
| ---------------------------------- | ------------------ |
| Promise<Array<number>> | Promise used to return the rotation angle around the z, x, and y axes.|
**Example**
```ts
const promise = sensor.getDirection([1, 0, 0, 0, 1, 0, 0, 0, 1]);
promise.then((data) => {
console.info('Succeeded in getting sensor_getAltitude_Promise', data);
for (var i = 1; i < data.length; i++) {
console.info("Succeeded in getting sensor_getDirection_promise" + data[i]);
}
}).catch((err) => {
console.info(`Failed to get promise.`);
})
```
## 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**
```ts
sensor.createRotationMatrix([-0.27775216, 0.5351276, 9.788099], [210.87253, -78.6096, -111.44444], function (err, data) {
if (err) {
console.error(`Failed to get create rotationMatrix. Code: ${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**
```ts
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(`Failed to get promise.`);
})
```