# @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.
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ------------------------------------------------- | ---- | ----------------------------------------------------------- |
| type | [SensorId](#sensorid9).COLOR | Yes | Sensor type. The value is fixed at **SensorId.COLOR**. |
| callback | Callback<[ColorResponse](#colorresponse10)> | 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.|
**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";
import BusinessError from "@ohos.base";
try{
sensor.on(sensor.SensorId.COLOR, (data: sensor.ColorResponse) => {
console.log('Succeeded in getting the intensity of light: ' + data.lightIntensity);
console.log('Succeeded in getting the color temperature: ' + data.colorTemperature);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.COLOR);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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.
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | --------------------------------------------- | ---- | ----------------------------------------------------------- |
| type | [SensorId](#sensorid9).SAR | Yes | Sensor type. The value is fixed at **SensorId.SAR**. |
| callback | Callback<[SarResponse](#sarresponse10)> | 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.|
**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";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.SAR, (data: sensor.SarResponse) => {
console.info('Succeeded in getting specific absorption rate : ' + data.absorptionRatio);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.SAR);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.ACCELEROMETER, (data: sensor.AccelerometerResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.ACCELEROMETER);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, (data: sensor.AccelerometerUncalibratedResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.ACCELEROMETER_UNCALIBRATED);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.AMBIENT_LIGHT, (data: sensor.LightResponse) => {
console.info('Succeeded in getting the ambient light intensity: ' + data.intensity);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.AMBIENT_LIGHT);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.AMBIENT_TEMPERATURE, (data: sensor.AmbientTemperatureResponse) => {
console.info('Succeeded in invoking on. Temperature: ' + data.temperature);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.AMBIENT_TEMPERATURE);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.BAROMETER, (data: sensor.BarometerResponse) => {
console.info('Succeeded in invoking on. Atmospheric pressure: ' + data.pressure);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.BAROMETER);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.GRAVITY, (data: sensor.GravityResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.GRAVITY);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.GYROSCOPE, (data: sensor.GyroscopeResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.GYROSCOPE);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.GYROSCOPE_UNCALIBRATED, (data: sensor.GyroscopeUncalibratedResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.GYROSCOPE_UNCALIBRATED);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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. The default value is 200,000,000 ns. This parameter is used to set the data reporting frequency when Hall effect events are frequently triggered.|
**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";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.HALL, (data: sensor.HallResponse) => {
console.info('Succeeded in invoking on. Hall status: ' + data.status);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.HALL);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.HEART_RATE, (data: sensor.HeartRateResponse) => {
console.info('Succeeded in invoking on. Heart rate: ' + data.heartRate);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.HEART_RATE);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.HUMIDITY, (data: sensor.HumidityResponse) => {
console.info('Succeeded in invoking on. Humidity: ' + data.humidity);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.HUMIDITY);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.LINEAR_ACCELEROMETER, (data: sensor.LinearAccelerometerResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.LINEAR_ACCELEROMETER);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.MAGNETIC_FIELD, (data: sensor.MagneticFieldResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.MAGNETIC_FIELD);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, (data: sensor.MagneticFieldUncalibratedResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.ORIENTATION, (data: sensor.OrientationResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.ORIENTATION);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.PEDOMETER, (data: sensor.PedometerResponse) => {
console.info('Succeeded in invoking on. Step count: ' + data.steps);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.PEDOMETER);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.PEDOMETER_DETECTION, (data: sensor.PedometerDetectionResponse) => {
console.info('Succeeded in invoking on. Pedometer scalar: ' + data.scalar);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.PEDOMETER_DETECTION);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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. The default value is 200,000,000 ns. This parameter is used to set the data reporting frequency when proximity sensor events are frequently triggered.|
**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";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.PROXIMITY, (data: sensor.ProximityResponse) => {
console.info('Succeeded in invoking on. Distance: ' + data.distance);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.PROXIMITY);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.ROTATION_VECTOR, (data: sensor.RotationVectorResponse) => {
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 });
setTimeout(() => {
sensor.off(sensor.SensorId.ROTATION_VECTOR);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.SIGNIFICANT_MOTION, (data: sensor.SignificantMotionResponse) => {
console.info('Succeeded in invoking on. Scalar data: ' + data.scalar);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.SIGNIFICANT_MOTION);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.on(sensor.SensorId.WEAR_DETECTION, (data: sensor.WearDetectionResponse) => {
console.info('Succeeded in invoking on. Wear status: ' + data.value);
}, { interval: 100000000 });
setTimeout(() => {
sensor.off(sensor.SensorId.WEAR_DETECTION);
}, 500);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke on. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.ACCELEROMETER, (data: sensor.AccelerometerResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, (data: sensor.AccelerometerUncalibratedResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.AMBIENT_LIGHT, (data: sensor.LightResponse) => {
console.info('Succeeded in invoking once. the ambient light intensity: ' + data.intensity);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.AMBIENT_TEMPERATURE, (data: sensor.AmbientTemperatureResponse) => {
console.info('Succeeded in invoking once. Temperature: ' + data.temperature);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.BAROMETER, (data: sensor.BarometerResponse) => {
console.info('Succeeded in invoking once. Atmospheric pressure: ' + data.pressure);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.GRAVITY, (data: sensor.GravityResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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';
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.GYROSCOPE, (data: sensor.GyroscopeResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.GYROSCOPE_UNCALIBRATED, (data: sensor.GyroscopeUncalibratedResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.HALL, (data: sensor.HallResponse) => {
console.info('Succeeded in invoking once. Status: ' + data.status);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.HEART_RATE, (data: sensor.HeartRateResponse) => {
console.info('Succeeded in invoking once. Heart rate: ' + data.heartRate);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.HUMIDITY, (data: sensor.HumidityResponse) => {
console.info('Succeeded in invoking once. Humidity: ' + data.humidity);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.LINEAR_ACCELEROMETER, (data: sensor.LinearAccelerometerResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.MAGNETIC_FIELD, (data: sensor.MagneticFieldResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, (data: sensor.MagneticFieldUncalibratedResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.ORIENTATION, (data: sensor.OrientationResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.PEDOMETER, (data: sensor.PedometerResponse) => {
console.info('Succeeded in invoking once. Step count: ' + data.steps);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.PEDOMETER_DETECTION, (data: sensor.PedometerDetectionResponse) => {
console.info('Succeeded in invoking once. Scalar data: ' + data.scalar);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.PROXIMITY, (data: sensor.ProximityResponse) => {
console.info('Succeeded in invoking once. Distance: ' + data.distance);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.ROTATION_VECTOR, (data: sensor.RotationVectorResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.SIGNIFICANT_MOTION, (data: sensor.SignificantMotionResponse) => {
console.info('Succeeded in invoking once. Scalar data: ' + data.scalar);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.once(sensor.SensorId.WEAR_DETECTION, (data: sensor.WearDetectionResponse) => {
console.info('Succeeded in invoking once. Wear status: ' + data.value);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.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](#colorresponse10)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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](#sarresponse10)> | No | Callback used for unsubscription. If this parameter is not specified, all callbacks of the specified sensor type are unsubscribed from.|
**Example**
```ts
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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.ORIENTATION type.
sensor.off(sensor.SensorId.PEDOMETER);
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
function callback1(data: object) {
console.info('Succeeded in getting callback1 data: ' + JSON.stringify(data));
}
function callback2(data: object) {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to invoke off. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
sensor.getGeomagneticInfo({ latitude: 80, longitude: 0, altitude: 0 }, 1580486400000,
(err: BusinessError.BusinessError, data: sensor.GeomagneticResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get geomagneticInfo. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
const promise = sensor.getGeomagneticInfo({ latitude: 80, longitude: 0, altitude: 0 }, 1580486400000);
promise.then((data: sensor.GeomagneticResponse) => {
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: BusinessError.BusinessError) => {
console.error(`Failed to get geomagneticInfo. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get geomagneticInfo. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
let seaPressure = 1013.2;
let currentPressure = 1500.0;
sensor.getDeviceAltitude(seaPressure, currentPressure, (err: BusinessError.BusinessError, data: number) => {
if (err) {
console.error(`Failed to get altitude. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info('Succeeded in getting altitude: ' + data);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get altitude. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
let seaPressure = 1013.2;
let currentPressure = 1500.0;
const promise = sensor.getDeviceAltitude(seaPressure, currentPressure);
promise.then((data: number) => {
console.info('Succeeded in getting sensor_getDeviceAltitude_Promise', data);
}, (err: BusinessError.BusinessError) => {
console.error(`Failed to get altitude. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get altitude. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
// inclinationMatrix can be 3*3 or 4*4.
let inclinationMatrix = [
1, 0, 0,
0, 1, 0,
0, 0, 1
]
sensor.getInclination(inclinationMatrix, (err: BusinessError.BusinessError, data: number) => {
if (err) {
console.error(`Failed to get inclination. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info('Succeeded in getting inclination: ' + data);
})
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get inclination. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
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: number) => {
console.info('Succeeded in getting inclination: ' + data);
}, (err: BusinessError.BusinessError) => {
console.error(`Failed to get inclination. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get inclination. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
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, (err: BusinessError.BusinessError, data: Array) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get angle variation. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
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: Array) => {
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: BusinessError.BusinessError) => {
console.error(`Failed to get angle variation. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get angle variation. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
let rotationVector = [0.20046076, 0.21907, 0.73978853, 0.60376877];
sensor.getRotationMatrix(rotationVector, (err: BusinessError.BusinessError, data: Array) => {
if (err) {
console.error(`Failed to get rotationMatrix. Code: ${err.code}, message: ${err.message}`);
return;
}
for (let i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
})
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get rotationMatrix. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
let rotationVector = [0.20046076, 0.21907, 0.73978853, 0.60376877];
const promise = sensor.getRotationMatrix(rotationVector);
promise.then((data: Array) => {
for (let i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
}, (err: BusinessError.BusinessError) => {
console.error(`Failed to get rotationMatrix. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get rotationMatrix. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
let rotationMatrix = [
1, 0, 0,
0, 0.87, -0.50,
0, 0.50, 0.87
];
sensor.transformRotationMatrix(rotationMatrix, { x: 1, y: 3 }, (err: BusinessError.BusinessError, data: Array) => {
if (err) {
console.error(`Failed to transform rotationMatrix. Code: ${err.code}, message: ${err.message}`);
return;
}
for (let i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + '] = ' + data[i]);
}
})
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to transform rotationMatrix. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
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: Array) => {
for (let i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
}, (err: BusinessError.BusinessError) => {
console.error(`Failed to transform rotationMatrix. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to transform rotationMatrix. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
let rotationVector = [0.20046076, 0.21907, 0.73978853, 0.60376877];
sensor.getQuaternion(rotationVector, (err: BusinessError.BusinessError, data: Array) => {
if (err) {
console.error(`Failed to get quaternion. Code: ${err.code}, message: ${err.message}`);
return;
}
for (let i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
})
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get quaternion. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
let rotationVector = [0.20046076, 0.21907, 0.73978853, 0.60376877];
const promise = sensor.getQuaternion(rotationVector);
promise.then((data: Array) => {
for (let i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
}, (err: BusinessError.BusinessError) => {
console.error(`Failed to get quaternion. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get quaternion. Code: ${e.code}, message: ${e.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
import sensor from "@ohos.sensor";
import BusinessError from "@ohos.base";
try {
let preRotationMatrix = [
1, 0, 0,
0, 0.87, -0.50,
0, 0.50, 0.87
];
sensor.getOrientation(preRotationMatrix, (err: BusinessError.BusinessError, data: Array) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get orientation. Code: ${e.code}, message: ${e.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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
try {
let preRotationMatrix = [
1, 0, 0,
0, 0.87, -0.50,
0, 0.50, 0.87
];
const promise = sensor.getOrientation(preRotationMatrix);
promise.then((data: Array) => {
for (let i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + data[i]);
}
}, (err: BusinessError.BusinessError) => {
console.error(`Failed to getOrientatin. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to getOrientatin Code: ${e.code}, message: ${e.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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
try {
let gravity = [-0.27775216, 0.5351276, 9.788099];
let geomagnetic = [210.87253, -78.6096, -111.44444];
sensor.getRotationMatrix(gravity, geomagnetic, (err: BusinessError.BusinessError, data: sensor.RotationMatrixResponse) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get rotationMatrix. Code: ${e.code}, message: ${e.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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
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: sensor.RotationMatrixResponse) => {
console.info('Succeeded in getting rotationMatrix' + JSON.stringify(data));
}, (err: BusinessError.BusinessError) => {
console.error(`Failed to get rotationMatrix. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get rotationMatrix. Code: ${e.code}, message: ${e.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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
try {
sensor.getSensorList((err: BusinessError.BusinessError, data: Array) => {
if (err) {
console.error(`Failed to get sensorList. Code: ${err.code}, message: ${err.message}`);
return;
}
for (let i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + JSON.stringify(data[i]));
}
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get sensorList. Code: ${e.code}, message: ${e.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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
try {
sensor.getSensorList().then((data: Array) => {
for (let i = 0; i < data.length; i++) {
console.info('Succeeded in getting data[' + i + ']: ' + JSON.stringify(data[i]));
}
}, (err: BusinessError.BusinessError) => {
console.error(`Failed to get sensorList. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get sensorList. Code: ${e.code}, message: ${e.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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
try {
sensor.getSingleSensor(sensor.SensorId.ACCELEROMETER, (err: BusinessError.BusinessError, data: sensor.Sensor) => {
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) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get singleSensor. Code: ${e.code}, message: ${e.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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
try {
sensor.getSingleSensor(sensor.SensorId.ACCELEROMETER).then((data: sensor.Sensor) => {
console.info('Succeeded in getting sensor: ' + JSON.stringify(data));
}, (err: BusinessError.BusinessError) => {
console.error(`Failed to get singleSensor . Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
console.error(`Failed to get singleSensor . Code: ${e.code}, message: ${e.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.|
## SensorAccuracy11+
Enumerates the accuracy levels of sensor data.
**System capability**: SystemCapability.Sensors.Sensor
| Name | Value| Description |
| --------- | ---- | ------------------------ |
| ACCURACY_UNRELIABLE | 0 | The sensor data is unreliable.|
| ACCURACY_LOW | 1 | The sensor data is at a low accuracy level.|
| ACCURACY_MEDIUM | 2 | The sensor data is at a medium accuracy level.|
| ACCURACY_HIGH | 3 | The sensor data is at a high accuracy level.|
## 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.|
| accuracy11+ | [SensorAccuracy](#sensoraccuracy11)11+ | Yes | No | Accuracy of the sensor data.|
## Sensor9+
Describes the sensor information.
**System capability**: SystemCapability.Sensors.Sensor
| Name | Type| Readable| Writable| Description |
| --------------- | -------- | ---------------------- | ---------------------- | ---------------------- |
| sensorName | string | Yes | No | Sensor name. |
| vendorName | string | Yes | No | Vendor of the sensor. |
| firmwareVersion | string | Yes | No | Firmware version of the sensor. |
| hardwareVersion | string | Yes | No | Hardware version of the sensor. |
| sensorId | number | Yes | No | Sensor type ID. |
| maxRange | number | Yes | No | Maximum measurement range of the sensor.|
| minSamplePeriod | number | Yes | No | Minimum sampling period. |
| maxSamplePeriod | number | Yes | No | Maximum sampling period. |
| precision | number | Yes | No | Precision of the sensor. |
| power | number | Yes | No | Estimated sensor power, in mA. |
## 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 **1** is reported when the device has a significant motion.|
## 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 a value greater than 0 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 units of hPa.|
## 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/[SensorFrequency](#sensorfrequency11+)11+ | Yes | Yes | Frequency at which a sensor reports data. The default value is 200,000,000 ns. This attribute has restrictions on the minimum and maximum values, determined by the reporting frequency supported by the hardware.|
## SensorFrequency11+
Defines the reporting frequency mode of the sensor.
**System capability**: SystemCapability.Sensors.Sensor
| Name | Type | Readable| Writable| Description |
| ------ | ------ | ---- | ---- | ------------------------------------------------------------ |
| game | string | Yes | No | The sensor reports data every 20,000,000 ns. The frequency takes effect when it is within the frequency range supported by the hardware.|
| ui | string | Yes | No | The sensor reports data every 60,000,000 ns. The frequency takes effect when it is within the frequency range supported by the hardware.|
| normal | string | Yes | No | The sensor reports data every 200,000,000 ns. The frequency takes effect when it is within the frequency range supported by the hardware.|
## 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.
**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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.ACCELEROMETER](#accelerometer9)9+ instead.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, (data: sensor.AccelerometerResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.LINEAR_ACCELEROMETER](#linear_accelerometer9)9+ instead.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.ACCELEROMETER_UNCALIBRATED](#accelerometer_uncalibrated9)9+ instead.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, (data: sensor.AccelerometerUncalibratedResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.GRAVITY](#gravity9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY, (data: sensor.GravityResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.GYROSCOPE](#gyroscope9)9+ instead.
**Required permissions**: ohos.permission.GYROSCOPE
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE, (data: sensor.GyroscopeResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.GYROSCOPE_UNCALIBRATED](#gyroscope_uncalibrated9)9+ instead.
**Required permissions**: ohos.permission.GYROSCOPE
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, (data: sensor.GyroscopeUncalibratedResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.SIGNIFICANT_MOTION](#significant_motion9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, (data: sensor.SignificantMotionResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.PEDOMETER_DETECTION](#pedometer_detection9)9+ instead.
**Required permissions**: ohos.permission.ACTIVITY_MOTION
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, (data: sensor.PedometerDetectionResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.PEDOMETER](#pedometer9)9+ instead.
**Required permissions**: ohos.permission.ACTIVITY_MOTION
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER, (data: sensor.PedometerResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.AMBIENT_TEMPERATURE](#ambient_temperature9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, (data: sensor.AmbientTemperatureResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.MAGNETIC_FIELD](#magnetic_field9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, (data: sensor.MagneticFieldResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.MAGNETIC_FIELD_UNCALIBRATED](#magnetic_field_uncalibrated9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, (data: sensor.MagneticFieldUncalibratedResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.PROXIMITY](#proximity9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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. The default value is 200,000,000 ns. This parameter is used to set the data reporting frequency when proximity sensor events are frequently triggered. |
**Example**
```ts
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY, (data: sensor.ProximityResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.HUMIDITY](#humidity9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ----------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY, (data: sensor.HumidityResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.BAROMETER](#barometer9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, (data: sensor.BarometerResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.HALL](#hall9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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. The default value is 200,000,000 ns. This parameter is used to set the data reporting frequency when Hall effect events are frequently triggered. |
**Example**
```ts
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_HALL, (data: sensor.HallResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.AMBIENT_LIGHT](#ambient_light9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, (data: sensor.LightResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.ORIENTATION](#orientation9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION, (data: sensor.OrientationResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.HEART_RATE](#heart_rate9)9+ instead.
**Required permissions**: ohos.permission.HEALTH_DATA
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.ROTATION_VECTOR](#rotation_vector9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, (data: sensor.RotationVectorResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.on.WEAR_DETECTION](#wear_detection9)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.on(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, (data: sensor.WearDetectionResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.ACCELEROMETER](#accelerometer9-1)9+ instead.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, (data: sensor.AccelerometerResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.LINEAR_ACCELEROMETER](#linear_accelerometer9-1)9+ instead.
**Required permissions**: ohos.permission.ACCELERATION
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.ACCELEROMETER_UNCALIBRATED](#accelerometer_uncalibrated9-1)9+ instead.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, (data: sensor.AccelerometerUncalibratedResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.GRAVITY](#gravity9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GRAVITY, (data: sensor.GravityResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.GYROSCOPE](#gyroscope9-1)9+ instead.
**Required permissions**: ohos.permission.GYROSCOPE
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE, (data: sensor.GyroscopeResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.GYROSCOPE_UNCALIBRATED](#gyroscope_uncalibrated9-1)9+ instead.
**Required permissions**: ohos.permission.GYROSCOPE
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, (data: sensor.GyroscopeUncalibratedResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.SIGNIFICANT_MOTION](#significant_motion9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, (data: sensor.SignificantMotionResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.PEDOMETER_DETECTION](#pedometer_detection9-1)9+ instead.
**Required permissions**: ohos.permission.ACTIVITY_MOTION
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, (data: sensor.PedometerDetectionResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.PEDOMETER](#pedometer9-1)9+ instead.
**Required permissions**: ohos.permission.ACTIVITY_MOTION
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PEDOMETER, (data: sensor.PedometerResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.AMBIENT_TEMPERATURE](#ambient_temperature9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, (data: sensor.AmbientTemperatureResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.MAGNETIC_FIELD](#magnetic_field9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, (data: sensor.MagneticFieldResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.MAGNETIC_FIELD_UNCALIBRATED](#magnetic_field_uncalibrated9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, (data: sensor.MagneticFieldUncalibratedResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.PROXIMITY](#proximity9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_PROXIMITY, (data: sensor.ProximityResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.HUMIDITY](#humidity9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ----------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HUMIDITY, (data: sensor.HumidityResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.BAROMETER](#barometer9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_BAROMETER, (data: sensor.BarometerResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.HALL](#hall9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_HALL, (data: sensor.HallResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.AMBIENT_LIGHT](#ambient_light9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, (data: sensor.LightResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.ORIENTATION](#orientation9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ORIENTATION, (data: sensor.OrientationResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.ROTATION_VECTOR](#rotation_vector9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, (data: sensor.RotationVectorResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.HEART_RATE](#heart_rate9-1)9+ instead.
**Required permissions**: ohos.permission.HEART_RATE
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.once.WEAR_DETECTION](#wear_detection9-1)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
sensor.once(sensor.SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, (data: sensor.WearDetectionResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.ACCELEROMETER9+](#accelerometer9-2) instead.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.AccelerometerResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.ACCELEROMETER_UNCALIBRATED](#accelerometer_uncalibrated9-2)9+ instead.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.AccelerometerUncalibratedResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.AMBIENT_LIGHT](#ambient_light9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.LightResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.AMBIENT_TEMPERATURE](#ambient_temperature9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.AmbientTemperatureResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.BAROMETER](#barometer9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.BarometerResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.GRAVITY](#gravity9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ---------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.GravityResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.GYROSCOPE](#gyroscope9-2)9+ instead.
**Required permissions**: ohos.permission.GYROSCOPE
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.GyroscopeResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.GYROSCOPE_UNCALIBRATED](#gyroscope_uncalibrated9-2)9+ instead.
**Required permissions**: ohos.permission.GYROSCOPE
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.GyroscopeUncalibratedResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.HALL](#hall9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.HallResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.HEART_RATE](#heart_rate9-2)9+ instead.
**Required permissions**: ohos.permission.HEALTH_DATA
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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. |
**Example**
```ts
import sensor from '@ohos.sensor';
function callback(data: sensor.HeartRateResponse) {
console.info('Succeeded in invoking off. Humidity: ' + data.heartRate);
}
sensor.off(sensor.SensorType.SENSOR_TYPE_ID_HEART_RATE, callback);
```
### HUMIDITY(deprecated)
off(type: SensorType.SENSOR_TYPE_ID_HUMIDITY, callback?: Callback<HumidityResponse>): void
Unsubscribes from sensor data changes.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.HUMIDITY](#humidity9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ----------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.HumidityResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.LINEAR_ACCELEROMETER](#linear_accelerometer9-2)9+ instead.
**Required permissions**: ohos.permission.ACCELEROMETER
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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. |
**Example**
```ts
import sensor from '@ohos.sensor';
function callback(data: sensor.LinearAccelerometerResponse) {
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_LINEAR_ACCELERATION, callback);
```
### MAGNETIC_FIELD(deprecated)
off(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback?: Callback<MagneticFieldResponse>): void
Unsubscribes from sensor data changes.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.MAGNETIC_FIELD](#magnetic_field9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| ---------------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.MagneticFieldResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.MAGNETIC_FIELD_UNCALIBRATED](#magnetic_field_uncalibrated9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.MagneticFieldUncalibratedResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.ORIENTATION](#orientation9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.OrientationResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.PEDOMETER](#pedometer9-2)9+ instead.
**Required permissions**: ohos.permission.ACTIVITY_MOTION
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.PedometerResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.PEDOMETER_DETECTION](#pedometer_detection9-2)9+ instead.
**Required permissions**: ohos.permission.ACTIVITY_MOTION
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.PedometerDetectionResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.PROXIMITY](#proximity9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.ProximityResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.ROTATION_VECTOR](#rotation_vector9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.RotationVectorResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.SIGNIFICANT_MOTION](#significant_motion9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function callback(data: sensor.SignificantMotionResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.off.WEAR_DETECTION](#wear_detection9-2)9+ instead.
**System capability**: SystemCapability.Sensors.Sensor
**Parameters**
| Name | Type | Mandatory | Description |
| -------- | ------------------------------------------------------------ | --------- | ------------------------------------------------------------ |
| type | [SensorType](#sensortypedeprecated).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
import sensor from '@ohos.sensor';
function accCallback(data: sensor.WearDetectionResponse) {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.transformRotationMatrix](#sensortransformrotationmatrix9)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
sensor.transformCoordinateSystem([1, 0, 0, 0, 1, 0, 0, 0, 1], { x: 2, y: 3 },
(err: BusinessError.BusinessError, data: Array) => {
if (err) {
console.error(`Failed to operate. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info("Succeeded in starting Operation. Data obtained: " + data);
for (let 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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.transformRotationMatrix](#sensortransformrotationmatrix9-1)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
const promise = sensor.transformCoordinateSystem([1, 0, 0, 0, 1, 0, 0, 0, 1], { x: 2, y: 3 });
promise.then((data: Array) => {
console.info("Succeeded in starting Operation");
for (let i = 0; i < data.length; i++) {
console.info("Succeeded in getting transformCoordinateSystem data[ " + i + "] = " + data[i]);
}
}).catch((err: BusinessError.BusinessError) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getGeomagneticInfo](#sensorgetgeomagneticinfo9)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
sensor.getGeomagneticField({ latitude: 80, longitude: 0, altitude: 0 }, 1580486400000,
(err: BusinessError.BusinessError, data: sensor.GeomagneticResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getGeomagneticInfo](#sensorgetgeomagneticinfo9-1)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
const promise = sensor.getGeomagneticField({ latitude: 80, longitude: 0, altitude: 0 }, 1580486400000);
promise.then((data: sensor.GeomagneticResponse) => {
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: BusinessError.BusinessError) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getDeviceAltitude](#sensorgetdevicealtitude9)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
sensor.getAltitude(0, 200, (err: BusinessError.BusinessError, data: number) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getDeviceAltitude](#sensorgetdevicealtitude9-1)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
const promise = sensor.getAltitude(0, 200);
promise.then((data: number) => {
console.info('Succeeded in getting sensor_getAltitude_Promise success', data);
}).catch((err: BusinessError.BusinessError) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getInclination](#sensorgetinclination9)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
sensor.getGeomagneticDip([1, 0, 0, 0, 1, 0, 0, 0, 1], (err: BusinessError.BusinessError, data: number) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getInclination](#sensorgetinclination9-1)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
const promise = sensor.getGeomagneticDip([1, 0, 0, 0, 1, 0, 0, 0, 1]);
promise.then((data: number) => {
console.info('Succeeded in get GeomagneticDip_promise', data);
}).catch((err: BusinessError.BusinessError) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getAngleVariation](#sensorgetanglevariation9)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
sensor.getAngleModify([1, 0, 0, 0, 1, 0, 0, 0, 1], [1, 0, 0, 0, 0.87, -0.50, 0, 0.50, 0.87],
(err: BusinessError.BusinessError, data: Array) => {
if (err) {
console.error(`Failed to register data. Code: ${err.code}, message: ${err.message}`);
return;
}
for (let 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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getAngleVariation](#sensorgetanglevariation9-1)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
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: Array) => {
console.info('Succeeded in getting AngleModify_promise.');
for (let i = 0; i < data.length; i++) {
console.info("Succeeded in getting data[" + i + "]: " + data[i]);
}
}).catch((reason: BusinessError.BusinessError) => {
let e: BusinessError.BusinessError = reason as BusinessError.BusinessError;
console.info("Succeeded in getting promise::catch", e);
})
```
## 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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getRotationMatrix](#sensorgetrotationmatrix9)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
sensor.createRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877],
(err: BusinessError.BusinessError, data: Array) => {
if (err) {
console.error(`Failed to register data. Code: ${err.code}, message: ${err.message}`);
return;
}
for (let 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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getRotationMatrix](#sensorgetrotationmatrix9-1)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
const promise = sensor.createRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877]);
promise.then((data: Array) => {
console.info('Succeeded in getting createRotationMatrix_promise');
for (let i = 0; i < data.length; i++) {
console.info("data[" + i + "]: " + data[i]);
}
}).catch((reason: BusinessError.BusinessError) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getQuaternion](#sensorgetquaternion9)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
sensor.createQuaternion([0.20046076, 0.21907, 0.73978853, 0.60376877],
(err: BusinessError.BusinessError, data: Array) => {
if (err) {
console.error(`Failed to register data. Code: ${err.code}, message: ${err.message}`);
return;
}
for (let 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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getQuaternion](#sensorgetquaternion9-1)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
const promise = sensor.createQuaternion([0.20046076, 0.21907, 0.73978853, 0.60376877]);
promise.then((data: Array) => {
console.info('Succeeded in getting createQuaternion_promise');
for (let i = 0; i < data.length; i++) {
console.info("data[" + i + "]: " + data[i]);
}
}).catch((err: BusinessError.BusinessError) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getOrientation](#sensorgetorientation9)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
sensor.getDirection([1, 0, 0, 0, 1, 0, 0, 0, 1], (err: BusinessError.BusinessError, data: Array) => {
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 (let 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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getOrientation](#sensorgetorientation9-1)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
const promise = sensor.getDirection([1, 0, 0, 0, 1, 0, 0, 0, 1]);
promise.then((data: Array) => {
console.info('Succeeded in getting sensor_getAltitude_Promise', data);
for (let i = 1; i < data.length; i++) {
console.info("Succeeded in getting sensor_getDirection_promise" + data[i]);
}
}).catch((err: BusinessError.BusinessError) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getRotationMatrix](#sensorgetrotationmatrix9-2)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
sensor.createRotationMatrix([-0.27775216, 0.5351276, 9.788099], [210.87253, -78.6096, -111.44444],
(err: BusinessError.BusinessError, data: sensor.RotationMatrixResponse) => {
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.
> **NOTE**
>
> This API is deprecated since API version 9. You are advised to use [sensor.getRotationMatrix](#sensorgetrotationmatrix9-3)9+ 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
import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';
const promise = sensor.createRotationMatrix([-0.27775216, 0.5351276, 9.788099], [210.87253, -78.6096, -111.44444]);
promise.then((data: sensor.RotationMatrixResponse) => {
console.info(JSON.stringify(data));
}).catch((err: BusinessError.BusinessError) => {
console.info(`Failed to get promise.`);
})
```