harmony 鸿蒙@ohos.sensor (传感器)

2022-08-09 浏览 (1477)

@ohos.sensor (传感器)

sensor模块提供了获取传感器数据的能力,包括获取传感器属性列表,订阅传感器数据,以及一些通用的传感器算法。

说明:

本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import sensor from '@ohos.sensor';

sensor.on

COLOR10+

on(type: SensorId.COLOR, callback: Callback<ColorResponse>, options?: Options): void

订阅颜色传感器数据。

系统能力:SystemCapability.Sensors.Sensor

系统API:此接口为系统接口

参数:

参数名类型必填说明
typeSensorId.COLOR传感器类型,该值固定为SensorId.COLOR。
callbackCallback<ColorResponse>回调函数,异步上报的传感器数据固定为ColorResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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<SarResponse>, options?: Options): void

订阅吸收比率传感器数据。

系统能力:SystemCapability.Sensors.Sensor

系统API:此接口为系统接口

参数:

参数名类型必填说明
typeSensorId.SAR传感器类型,该值固定为SensorId.SAR。
callbackCallback<SarResponse>回调函数,异步上报的传感器数据固定为SarResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅加速度传感器数据。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ACCELEROMETER传感器类型,该值固定为SensorId.ACCELEROMETER。
callbackCallback<AccelerometerResponse>回调函数,异步上报的传感器数据固定为AccelerometerResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅未校准加速度传感器数据。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ACCELEROMETER_UNCALIBRATED传感器类型,该值固定为SensorId.ACCELEROMETER_UNCALIBRATED。
callbackCallback<AccelerometerUncalibratedResponse>回调函数,异步上报的传感器数据固定为AccelerometerUncalibratedResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅环境光传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.AMBIENT_LIGHT传感器类型,该值固定为SensorId.AMBIENT_LIGHT。
callbackCallback<LightResponse>回调函数,异步上报的传感器数据固定为LightResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅温度传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.AMBIENT_TEMPERATURE传感器类型,该值固定为SensorId.AMBIENT_TEMPERATURE。
callbackCallback<AmbientTemperatureResponse>回调函数,异步上报的传感器数据固定为AmbientTemperatureResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅气压计传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.BAROMETER传感器类型,该值固定为SensorId.BAROMETER。
callbackCallback<BarometerResponse>回调函数,异步上报的传感器数据固定为BarometerResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅重力传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.GRAVITY传感器类型,该值固定为SensorId.GRAVITY。
callbackCallback<GravityResponse>回调函数,异步上报的传感器数据固定为GravityResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅校准的陀螺仪传感器数据。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.GYROSCOPE传感器类型,该值固定为SensorId.GYROSCOPE。
callbackCallback<GyroscopeResponse>回调函数,异步上报的传感器数据固定为GyroscopeResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅未校准陀螺仪传感器数据。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.GYROSCOPE_UNCALIBRATED传感器类型,该值固定为SensorId.GYROSCOPE_UNCALIBRATED。
callbackCallback<GyroscopeUncalibratedResponse>回调函数,异步上报的传感器数据固定为GyroscopeUncalibratedResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅霍尔传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.HALL传感器类型,该值固定为SensorId.HALL。
callbackCallback<HallResponse>回调函数,异步上报的传感器数据固定为HallResponse。
optionsOptions可选参数列表,默认值为200000000ns。当霍尔事件被触发的很频繁时,该参数用于限定事件上报的频率。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅心率传感器数据。

需要权限:ohos.permission.READ_HEALTH_DATA

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.HEART_RATE传感器类型,该值固定为SensorId.HEART_RATE。
callbackCallback<HeartRateResponse>回调函数,异步上报的传感器数据固定为HeartRateResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅湿度传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.HUMIDITY传感器类型,该值固定为SensorId.HUMIDITY。
callbackCallback<HumidityResponse>回调函数,异步上报的传感器数据固定为HumidityResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅线性加速度传感器数据。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.LINEAR_ACCELEROMETER传感器类型,该值固定为SensorId.LINEAR_ACCELEROMETER。
callbackCallback<LinearAccelerometerResponse>回调函数,异步上报的传感器数据固定为LinearAccelerometerResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅地磁传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.MAGNETIC_FIELD传感器类型,该值固定为SensorId.MAGNETIC_FIELD。
callbackCallback<MagneticFieldResponse>回调函数,异步上报的传感器数据固定为MagneticFieldResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅未校准地磁传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.MAGNETIC_FIELD_UNCALIBRATED传感器类型,该值固定为SensorId.MAGNETIC_FIELD_UNCALIBRATED。
callbackCallback<MagneticFieldUncalibratedResponse>回调函数,异步上报的传感器数据固定为MagneticFieldUncalibratedResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅方向传感器数据。

系统能力:SystemCapability.Sensors.Sensor

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

参数:

参数名类型必填说明
typeSensorId.ORIENTATION传感器类型,该值固定为SensorId.ORIENTATION。
callbackCallback<OrientationResponse>回调函数,异步上报的传感器数据固定为OrientationResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

订阅计步器传感器数据。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

参数:

参数名类型必填说明
typeSensorId.PEDOMETER传感器类型,该值固定为SensorId.PEDOMETER。
callbackCallback<PedometerResponse>回调函数,异步上报的传感器数据固定为PedometerResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

订阅计步检测器传感器数据。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.PEDOMETER_DETECTION传感器类型,该值固定为SensorId.PEDOMETER_DETECTION。
callbackCallback<PedometerDetectionResponse>回调函数,异步上报的传感器数据固定为PedometerDetectionResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅接近光传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.PROXIMITY传感器类型,该值固定为SensorId.PROXIMITY。
callbackCallback<ProximityResponse>回调函数,异步上报的传感器数据固定为ProximityResponse。
optionsOptions可选参数列表,默认值为200000000ns。当接近光事件被触发的很频繁时,该参数用于限定事件上报的频率。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅旋转矢量传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ROTATION_VECTOR传感器类型,该值固定为SensorId.ROTATION_VECTOR。
callbackCallback<RotationVectorResponse>回调函数,异步上报的传感器数据固定为RotationVectorResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅大幅动作检测传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.SIGNIFICANT_MOTION传感器类型,该值固定为SensorId.SIGNIFICANT_MOTION。
callbackCallback<SignificantMotionResponse>回调函数,异步上报的传感器数据固定为SignificantMotionResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

订阅佩戴检测传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.WEAR_DETECTION传感器类型,该值固定为SensorId.WEAR_DETECTION。
callbackCallback<WearDetectionResponse>回调函数,异步上报的传感器数据固定为WearDetectionResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次加速度传感器数据。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ACCELEROMETER传感器类型,该值固定为SensorId.ACCELEROMETER。
callbackCallback<AccelerometerResponse>回调函数,异步上报的传感器数据固定为AccelerometerResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次未校准加速度传感器数据。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ACCELEROMETER_UNCALIBRATED传感器类型,该值固定为SensorId.ACCELEROMETER_UNCALIBRATED。
callbackCallback<AccelerometerUncalibratedResponse>回调函数,异步上报的传感器数据固定为AccelerometerUncalibratedResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次环境光传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.AMBIENT_LIGHT传感器类型,该值固定为SensorId.AMBIENT_LIGHT。
callbackCallback<LightResponse>回调函数,异步上报的传感器数据固定为LightResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次温度传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.AMBIENT_TEMPERATURE传感器类型,该值固定为SensorId.AMBIENT_TEMPERATURE。
callbackCallback<AmbientTemperatureResponse>回调函数,异步上报的传感器数据固定为AmbientTemperatureResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次气压计传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.BAROMETER传感器类型,该值固定为SensorId.BAROMETER。
callbackCallback<BarometerResponse>回调函数,异步上报的传感器数据固定为BarometerResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次重力传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.GRAVITY传感器类型,该值固定为SensorId.GRAVITY。
callbackCallback<GravityResponse>回调函数,异步上报的传感器数据固定为GravityResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次陀螺仪传感器数据。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.GYROSCOPE传感器类型,该值固定为SensorId.GYROSCOPE。
callbackCallback<GyroscopeResponse>回调函数,异步上报的传感器数据固定为GyroscopeResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次未校准陀螺仪传感器数据。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.GYROSCOPE_UNCALIBRATED传感器类型,该值固定为SensorId.GYROSCOPE_UNCALIBRATED。
callbackCallback<GyroscopeUncalibratedResponse>回调函数,异步上报的传感器数据固定为GyroscopeUncalibratedResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次霍尔传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.HALL传感器类型,该值固定为SensorId.HALL。
callbackCallback<HallResponse>回调函数,异步上报的传感器数据固定为HallResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次心率传感器数据。

需要权限:ohos.permission.READ_HEALTH_DATA

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.HEART_RATE传感器类型,该值固定为SensorId.HEART_RATE。
callbackCallback<HeartRateResponse>回调函数,异步上报的传感器数据固定为HeartRateResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次湿度传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.HUMIDITY传感器类型,该值固定为SensorId.HUMIDITY。
callbackCallback<HumidityResponse>回调函数,异步上报的传感器数据固定为HumidityResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次线性加速度传感器数据。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.LINEAR_ACCELEROMETER传感器类型,该值固定为SensorId.LINEAR_ACCELEROMETER。
callbackCallback<LinearAccelerometerResponse>回调函数,异步上报的传感器数据固定为LinearAccelerometerResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次磁场传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.MAGNETIC_FIELD传感器类型,该值固定为SensorId.MAGNETIC_FIELD。
callbackCallback<MagneticFieldResponse>回调函数,异步上报的传感器数据固定为MagneticFieldResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次未经校准的磁场传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.MAGNETIC_FIELD_UNCALIBRATED传感器类型,该值固定为SensorId.MAGNETIC_FIELD_UNCALIBRATED。
callbackCallback<MagneticFieldUncalibratedResponse>回调函数,异步上报的传感器数据固定为MagneticFieldUncalibratedResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次方向传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ORIENTATION传感器类型,该值固定为SensorId.ORIENTATION。
callbackCallback<OrientationResponse>回调函数,异步上报的传感器数据固定为OrientationResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次计步器传感器数据。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.PEDOMETER传感器类型,该值固定为SensorId.PEDOMETER。
callbackCallback<PedometerResponse>回调函数,异步上报的传感器数据固定为PedometerResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次计步检测器传感器数据。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.PEDOMETER_DETECTION传感器类型,该值固定为SensorId.PEDOMETER_DETECTION。
callbackCallback<PedometerDetectionResponse>回调函数,异步上报的传感器数据固定为PedometerDetectionResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次接近光传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.PROXIMITY传感器类型,该值固定为SensorId.PROXIMITY。
callbackCallback<ProximityResponse>回调函数,异步上报的传感器数据固定为ProximityResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次旋转矢量传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ROTATION_VECTOR传感器类型,该值固定为SensorId.ROTATION_VECTOR。
callbackCallback<RotationVectorResponse>回调函数,异步上报的传感器数据固定为RotationVectorResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次大幅动作检测传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.SIGNIFICANT_MOTION传感器类型,该值固定为SensorId.SIGNIFICANT_MOTION。
callbackCallback<SignificantMotionResponse>回调函数,异步上报的传感器数据固定为SignificantMotionResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取一次佩戴检测传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.WEAR_DETECTION传感器类型,该值固定为SensorId.WEAR_DETECTION。
callbackCallback<WearDetectionResponse>回调函数,异步上报的传感器数据固定为WearDetectionResponse。

错误码

以下错误码的详细介绍请参见 ohos.sensor(传感器)错误码

错误码ID错误信息
14500101Service exception.

示例:

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<ColorResponse>): void

取消订阅颜色传感器数据。

系统能力:SystemCapability.Sensors.Sensor

系统API:此接口为系统接口

参数:

参数名类型必填说明
typeSensorId.COLOR传感器类型,该值固定为SensorId.COLOR。
callbackCallback<ColorResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.COLOR, callback1);
  // 取消注册SensorId.COLOR的所有回调
  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<SarResponse>): void

取消订阅吸收比率传感器数据。

系统能力:SystemCapability.Sensors.Sensor

系统API:此接口为系统接口

参数:

参数名类型必填说明
typeSensorId.SAR传感器类型,该值固定为SensorId.SAR。
callbackCallback<SarResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.SAR, callback1);
  // 取消注册SensorId.SAR的所有回调
  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

取消订阅加速度传感器数据。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ACCELEROMETER传感器类型,该值固定为SensorId.ACCELEROMETER。
callbackCallback<AccelerometerResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.ACCELEROMETER, callback1);
  // 取消SensorId.ACCELEROMETER类型的所有回调
  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

取消订阅未校准加速度传感器数据。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ACCELEROMETER_UNCALIBRATED传感器类型,该值固定为SensorId.ACCELEROMETER_UNCALIBRATED。
callbackCallback<AccelerometerUncalibratedResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.ACCELEROMETER_UNCALIBRATED, callback1);
  // 取消注册SensorId.ACCELEROMETER_UNCALIBRATED类型的所有回调
  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

取消订阅环境光传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.AMBIENT_LIGHT传感器类型,该值固定为SensorId.AMBIENT_LIGHT。
callbackCallback<LightResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.AMBIENT_LIGHT, callback1);
  // 取消注册SensorId.AMBIENT_LIGHT
  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

取消订阅温度传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.AMBIENT_TEMPERATURE传感器类型,该值固定为SensorId.AMBIENT_TEMPERATURE。
callbackCallback<AmbientTemperatureResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.AMBIENT_TEMPERATURE, callback1);
  // 取消注册SensorId.AMBIENT_TEMPERATURE的所有回调
  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

取消订阅气压计传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.BAROMETER传感器类型,该值固定为SensorId.BAROMETER。
callbackCallback<BarometerResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
    // 仅取消callback1的注册
    sensor.off(sensor.SensorId.BAROMETER, callback1);
    // 取消注册SensorId.BAROMETER的所有回调
    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

取消订阅重力传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.GRAVITY传感器类型,该值固定为SensorId.GRAVITY。
callbackCallback<GravityResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.GRAVITY, callback1);
  // 取消注册SensorId.GRAVITY的所有回调
  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

取消订阅陀螺仪传感器数据。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.GYROSCOPE传感器类型,该值固定为SensorId.GYROSCOPE。
callbackCallback<GyroscopeResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.GYROSCOPE, callback1);
  // 取消注册SensorId.GYROSCOPE的所有回调
  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

取消订阅未校准陀螺仪传感器数据。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.GYROSCOPE_UNCALIBRATED传感器类型,该值固定为SensorId.GYROSCOPE_UNCALIBRATED。
callbackCallback<GyroscopeUncalibratedResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.GYROSCOPE_UNCALIBRATED, callback1);
  // 取消注册SensorId.GYROSCOPE_UNCALIBRATED的所有回调
  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

取消订阅霍尔传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.HALL传感器类型,该值固定为SensorId.HALL。
callbackCallback<HallResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.HALL, callback1);
  // 取消注册SensorId.HALL的所有回调
  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

取消订阅心率传感器数据。

需要权限:ohos.permission.READ_HEALTH_DATA

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.HEART_RATE传感器类型,该值固定为SensorId.HEART_RATE。
callbackCallback<HeartRateResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.HEART_RATE, callback1);
  // 取消注册SensorId.HEART_RATE的所有回调
  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

取消订阅湿度传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.HUMIDITY传感器类型,该值固定为SensorId.HUMIDITY。
callbackCallback<HumidityResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.HUMIDITY, callback1);
  // 取消注册SensorId.HUMIDITY的所有回调
  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

取消订阅线性加速度传感器数据。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.LINEAR_ACCELEROMETER传感器类型,该值固定为SensorId.LINEAR_ACCELERATION。
callbackCallback<LinearAccelerometerResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.LINEAR_ACCELEROMETER, callback1);
  // 取消注册SensorId.LINEAR_ACCELEROMETER的所有回调
  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

取消订阅磁场传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.MAGNETIC_FIELD传感器类型,该值固定为SensorId.MAGNETIC_FIELD。
callbackCallback<MagneticFieldResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.MAGNETIC_FIELD, callback1);
  // 取消注册SensorId.MAGNETIC_FIELD的所有回调
  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

取消订阅未校准的磁场传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.MAGNETIC_FIELD_UNCALIBRATED传感器类型,该值固定为SensorId.MAGNETIC_FIELD_UNCALIBRATED。
callbackCallback<MagneticFieldUncalibratedResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.MAGNETIC_FIELD_UNCALIBRATED, callback1);
  // 取消注册SensorId.MAGNETIC_FIELD_UNCALIBRATED的所有回调
  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

取消订阅方向传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ORIENTATION传感器类型,该值固定为SensorId.ORIENTATION。
callbackCallback<OrientationResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.ORIENTATION, callback1);
  // 取消注册SensorId.ORIENTATION的所有回调
  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

取消订阅计步器传感器数据。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.PEDOMETER传感器类型,该值固定为SensorId.PEDOMETER。
callbackCallback<PedometerResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.PEDOMETER, callback1);
  // 取消注册SensorId.ORIENTATION的所有回调
  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

取消订阅计步检测器传感器数据。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.PEDOMETER_DETECTION传感器类型,该值固定为SensorId.PEDOMETER_DETECTION。
callbackCallback<PedometerDetectionResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.PEDOMETER_DETECTION, callback1);
  // 取消注册SensorId.PEDOMETER_DETECTION的所有回调
  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

取消订阅接近光传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.PROXIMITY传感器类型,该值固定为SensorId.PROXIMITY。
callbackCallback<ProximityResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.PROXIMITY, callback1);
  // 取消注册SensorId.PROXIMITY的所有回调
  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

取消订阅旋转矢量传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.ROTATION_VECTOR传感器类型,该值固定为SensorId.ROTATION_VECTOR。
callbackCallback<RotationVectorResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.ROTATION_VECTOR, callback1);
  // 取消注册SensorId.ROTATION_VECTOR的所有回调
  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

取消大幅动作检测传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.SIGNIFICANT_MOTION传感器类型,该值固定为SensorId.SIGNIFICANT_MOTION。
callbackCallback<SignificantMotionResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.SIGNIFICANT_MOTION, callback1);
  // 取消注册SensorId.SIGNIFICANT_MOTION的所有回调
  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

取消订阅佩戴检测传感器数据。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId.WEAR_DETECTION传感器类型,该值固定为SensorId.WEAR_DETECTION。
callbackCallback<WearDetectionResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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);
  // 仅取消callback1的注册
  sensor.off(sensor.SensorId.WEAR_DETECTION, callback1);
  // 取消注册SensorId.WEAR_DETECTION的所有回调
  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

获取某时刻地球上特定位置的地磁场信息,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
locationOptionsLocationOptions地理位置,包括经度、纬度和海拔高度。
timeMillisnumber获取磁偏角的时间,unix时间戳,单位毫秒。
callbackAsyncCallback<GeomagneticResponse>回调函数,异步返回地磁场信息。

错误码

以下错误码的详细介绍请参见 sensor.getGeomagneticInfo错误码

错误码ID错误信息
14500101Service exception.

示例:

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>

获取某时刻地球上特定位置的地磁场信息,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
locationOptionsLocationOptions地理位置,包括经度、纬度和海拔高度。
timeMillisnumber获取磁偏角的时间,unix时间戳,单位毫秒。

返回值:

类型说明
Promise<GeomagneticResponse>Promise对象,使用异步方式返回地磁场信息。

错误码

以下错误码的详细介绍请参见 sensor.getGeomagneticInfo错误码

错误码ID错误信息
14500101Service exception.

示例:

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

根据气压值获取海拔高度,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
seaPressurenumber海平面气压值,单位为hPa。
currentPressurenumber指定的气压值,单位为hPa。
callbackAsyncCallback<number>回调函数,异步返回指定的气压值对应的海拔高度,单位为米。

错误码

以下错误码的详细介绍请参见 sensor.getDeviceAltitude错误码

错误码ID错误信息
14500101Service exception.

示例:

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>

根据气压值获取海拔高度,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
seaPressurenumber海平面气压值,单位为hPa。
currentPressurenumber指定的气压值,单位为hPa。

返回值:

类型说明
Promise<number>Promise对象,使用异步方式返回指定的气压值对应的海拔高度,单位为米。

错误码

以下错误码的详细介绍请参见 sensor.getDeviceAltitude错误码

错误码ID错误信息
14500101Service exception.

示例:

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

根据倾斜矩阵计算地磁倾角,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
inclinationMatrixArray<number>倾斜矩阵。
callbackAsyncCallback<number>回调函数,异步返回地磁倾角,单位为弧度。

错误码

以下错误码的详细介绍请参见 sensor.getInclination错误码

错误码ID错误信息
14500101Service exception.

示例:

import sensor from "@ohos.sensor"
import BusinessError from "@ohos.base"

try {
  // inclinationMatrix可以为3*3,或者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>

根据倾斜矩阵计算地磁倾角,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
inclinationMatrixArray<number>倾斜矩阵。

返回值:

类型说明
Promise<number>Promise对象,使用异步方式返回地磁倾斜角,单位为弧度。

错误码

以下错误码的详细介绍请参见 sensor.getInclination错误码

错误码ID错误信息
14500101Service exception.

示例:

import sensor from "@ohos.sensor"
import BusinessError from "@ohos.base"

try {
  // inclinationMatrix可以为3*3,或者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

计算两个旋转矩阵之间的角度变化,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
currentRotationMatrixArray<number>当前旋转矩阵。
preRotationMatrixArray<number>相对旋转矩阵。
callbackAsyncCallback<Array<number>>回调函数,异步返回绕z、x、y轴方向的旋转角度。

错误码

以下错误码的详细介绍请参见 sensor.getAngleVariation错误码

错误码ID错误信息
14500101Service exception.

示例:

import sensor from "@ohos.sensor"
import BusinessError from "@ohos.base"

try {
  // 旋转矩阵可以为3*3,或者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<number>) => {
    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>>

得到两个旋转矩阵之间的角度变化,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
currentRotationMatrixArray<number>当前旋转矩阵。
preRotationMatrixArray<number>相对旋转矩阵。

返回值:

类型说明
Promise<Array<number>>Promise对象,使用异步方式返回绕z、x、y轴方向的旋转角度。

错误码

以下错误码的详细介绍请参见 sensor.getAngleVariation错误码

错误码ID错误信息
14500101Service exception.

示例:

import sensor from "@ohos.sensor"
import BusinessError from "@ohos.base"

try {
  // 旋转矩阵可以为3*3,或者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<number>) => {
    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

根据旋转矢量获取旋转矩阵,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationVectorArray<number>旋转矢量。
callbackAsyncCallback<Array<number>>回调函数,异步返回3*3旋转矩阵。

错误码

以下错误码的详细介绍请参见 sensor.getRotationMatrix错误码

错误码ID错误信息
14500101Service exception.

示例:

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<number>) => {
    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>>

根据旋转矢量获取旋转矩阵,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationVectorArray<number>旋转矢量。

返回值:

类型说明
Promise<Array<number>>Promise对象,使用异步方式返回旋转矩阵。

错误码

以下错误码的详细介绍请参见 sensor.getRotationMatrix错误码

错误码ID错误信息
14500101Service exception.

示例:

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<number>) => {
    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

根据指定坐标系映射旋转矩阵,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
inRotationVectorArray<number>旋转矩阵。
coordinatesCoordinatesOptions指定坐标系方向。
callbackAsyncCallback<Array<number>>回调函数,异步返回映射后的旋转矩阵。

错误码

以下错误码的详细介绍请参见 sensor.transformRotationMatrix错误码

错误码ID错误信息
14500101Service exception.

示例:

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<number>) => {
    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>>

根据指定坐标系映射旋转矩阵,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
inRotationVectorArray<number>旋转矩阵。
coordinatesCoordinatesOptions指定坐标系方向。

返回值:

类型说明
Promise<Array<number>>Promise对象,使用异步方式返回转换后的旋转矩阵。

错误码

以下错误码的详细介绍请参见 sensor.transformRotationMatrix错误码

错误码ID错误信息
14500101Service exception.

示例:

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<number>) => {
    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

根据旋转向量计算归一化四元数,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationVectorArray<number>旋转矢量。
callbackAsyncCallback<Array<number>>回调函数,异步返回归一化四元数。

错误码

以下错误码的详细介绍请参见 sensor.getQuaternion错误码

错误码ID错误信息
14500101Service exception.

示例:

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<number>) => {
    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>>

根据旋转向量计算归一化四元数,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationVectorArray<number>旋转矢量。

返回值:

类型说明
Promise<Array<number>>Promise,使用异步方式对象返归一化回四元数。

错误码

以下错误码的详细介绍请参见 sensor.getQuaternion错误码

错误码ID错误信息
14500101Service exception.

示例:

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<number>) => {
        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

根据旋转矩阵计算设备方向,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationMatrixArray<number>旋转矩阵。
callbackAsyncCallback<Array<number>>回调函数,异步返回围绕z、x、y轴方向的旋转角度。

错误码

以下错误码的详细介绍请参见 sensor.getOrientation错误码

错误码ID错误信息
14500101Service exception.

示例:

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<number>) => {
    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>>

根据旋转矩阵计算设备的方向,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationMatrixArray<number>旋转矩阵。

返回值:

类型说明
Promise<Array<number>>Promise对象,使用异步方式返回围绕z、x、y轴方向的旋转角度。

错误码

以下错误码的详细介绍请参见 sensor.getOrientation错误码

错误码ID错误信息
14500101Service exception.

示例:

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<number>) => {
    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

根据重力矢量和地磁矢量计算旋转矩阵,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
gravityArray<number>重力矢量。
geomagneticArray<number>地磁矢量。
callbackAsyncCallback<RotationMatrixResponse>回调函数,异步返回旋转矩阵。

错误码

以下错误码的详细介绍请参见 sensor.getRotationMatrix错误码

错误码ID错误信息
14500101Service exception.

示例:

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>

根据重力矢量和地磁矢量计算旋转矩阵,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
gravityArray<number>重力向量。
geomagneticArray<number>地磁矢量。

返回值:

类型说明
Promise<RotationMatrixResponse>Promise对象,使用异步方式返回旋转矩阵。

错误码

以下错误码的详细介绍请参见 sensor.getRotationMatrix错误码

错误码ID错误信息
14500101Service exception.

示例:

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

获取设备上的所有传感器信息,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
callbackAsyncCallback<Array<Sensor>>回调函数,异步返回传感器属性列表。

错误码

以下错误码的详细介绍请参见 sensor.getSensorList错误码

错误码ID错误信息
14500101Service exception.

示例:

import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';

try {
  sensor.getSensorList((err: BusinessError.BusinessError, data: Array<sensor.Sensor>) => {
    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>>

获取设备上的所有传感器信息,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

返回值:

参数名类型必填说明
promisePromise<Array<Sensor>>Promise对象,使用异步方式返回传感器属性列表。

错误码

以下错误码的详细介绍请参见 sensor.getSensorList错误码

错误码ID错误信息
14500101Service exception.

示例:

import sensor from '@ohos.sensor';
import BusinessError from '@ohos.base';

try {
  sensor.getSensorList().then((data: Array<sensor.Sensor>) => {
    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

获取指定传感器类型的属性信息,使用Callback异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId指定传感器类型。
callbackAsyncCallback<Sensor>回调函数,异步返回指定传感器的属性信息。

错误码

以下错误码的详细介绍请参见 sensor.getSingleSensor错误码

错误码ID错误信息
14500101Service exception.

示例:

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>

获取指定类型的传感器信息,使用Promise异步方式返回结果。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorId传感器类型。

返回值:

参数名类型必填说明
promisePromise<Sensor>使用异步方式返回传感器信息。

错误码

以下错误码的详细介绍请参见 sensor.getSingleSensor错误码

错误码ID错误信息
14500101Service exception.

示例:

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+

表示当前支持订阅或取消订阅的传感器类型。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称说明
ACCELEROMETER1加速度传感器。
GYROSCOPE2陀螺仪传感器。
AMBIENT_LIGHT5环境光传感器。
MAGNETIC_FIELD6磁场传感器。
BAROMETER8气压计传感器。
HALL10霍尔传感器。
PROXIMITY12接近光传感器。
HUMIDITY13湿度传感器。
COLOR10+14颜色传感器。
系统API:此接口为系统接口
SAR10+15吸收比率传感器。
系统API:此接口为系统接口
ORIENTATION256方向传感器。
GRAVITY257重力传感器。
LINEAR_ACCELEROMETER258线性加速度传感器。
ROTATION_VECTOR259旋转矢量传感器。
AMBIENT_TEMPERATURE260环境温度传感器。
MAGNETIC_FIELD_UNCALIBRATED261未校准磁场传感器。
GYROSCOPE_UNCALIBRATED263未校准陀螺仪传感器。
SIGNIFICANT_MOTION264有效运动传感器。
PEDOMETER_DETECTION265计步检测传感器。
PEDOMETER266计步传感器。
HEART_RATE278心率传感器。
WEAR_DETECTION280佩戴检测传感器。
ACCELEROMETER_UNCALIBRATED281未校准加速度计传感器。

SensorType(deprecated)

表示要订阅或取消订阅的传感器类型。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称说明
SENSOR_TYPE_ID_ACCELEROMETER1加速度传感器。
SENSOR_TYPE_ID_GYROSCOPE2陀螺仪传感器。
SENSOR_TYPE_ID_AMBIENT_LIGHT5环境光传感器。
SENSOR_TYPE_ID_MAGNETIC_FIELD6磁场传感器。
SENSOR_TYPE_ID_BAROMETER8气压计传感器。
SENSOR_TYPE_ID_HALL10霍尔传感器。
SENSOR_TYPE_ID_PROXIMITY12接近光传感器。
SENSOR_TYPE_ID_HUMIDITY13湿度传感器。
SENSOR_TYPE_ID_ORIENTATION256方向传感器。
SENSOR_TYPE_ID_GRAVITY257重力传感器。
SENSOR_TYPE_ID_LINEAR_ACCELERATION258线性加速度传感器。
SENSOR_TYPE_ID_ROTATION_VECTOR259旋转矢量传感器。
SENSOR_TYPE_ID_AMBIENT_TEMPERATURE260环境温度传感器。
SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED261未校准磁场传感器。
SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED263未校准陀螺仪传感器。
SENSOR_TYPE_ID_SIGNIFICANT_MOTION264有效运动传感器。
SENSOR_TYPE_ID_PEDOMETER_DETECTION265计步检测传感器。
SENSOR_TYPE_ID_PEDOMETER266计步传感器。
SENSOR_TYPE_ID_HEART_RATE278心率传感器。
SENSOR_TYPE_ID_WEAR_DETECTION280佩戴检测传感器。
SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED281未校准加速度计传感器。

SensorAccuracy11+

传感器数据的精度。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型说明
ACCURACY_UNRELIABLEnumber0传感器数据不可信
ACCURACY_LOWnumber1传感器低挡位精度
ACCURACY_MEDIUMnumber2传感器中挡位精度
ACCURACY_HIGHnumber3传感器高挡位精度

Response

传感器数据的时间戳。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
timestampnumber传感器数据上报的时间戳。
accuracy11+SensorAccuracy传感器数据上报的精度挡位值。

Sensor9+

指示传感器信息。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
sensorNamestring传感器名称。
vendorNamestring传感器供应商。
firmwareVersionstring传感器固件版本。
hardwareVersionstring传感器硬件版本。
sensorIdnumber传感器类型id。
maxRangenumber传感器测量范围的最大值。
minSamplePeriodnumber允许的最小采样周期。
maxSamplePeriodnumber允许的最大采样周期。
precisionnumber传感器精度。
powernumber传感器功率的估计值,单位:mA。

ColorResponse10+

颜色传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

系统API:此接口为系统接口

名称类型可读可写说明
lightIntensitynumber表示光的强度,单位 : 勒克斯。
colorTemperaturenumber表示色温,单位 : 开尔文。

SarResponse10+

吸收比率传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

系统API:此接口为系统接口

名称类型可读可写说明
absorptionRationumber表示具体的吸收率,单位 : W/kg。

AccelerometerResponse

加速度传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumber施加在设备x轴的加速度,单位 : m/s²。
ynumber施加在设备y轴的加速度,单位 : m/s²。
znumber施加在设备z轴的加速度,单位 : m/s²。

LinearAccelerometerResponse

线性加速度传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumber施加在设备x轴的线性加速度,单位 : m/s²。
ynumber施加在设备y轴的线性加速度,单位 : m/s²。
znumber施加在设备z轴的线性加速度,单位 : m/s²。

AccelerometerUncalibratedResponse

未校准加速度计传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumber施加在设备x轴未校准的加速度,单位 : m/s²。
ynumber施加在设备y轴未校准的加速度,单位 : m/s²。
znumber施加在设备z轴未校准的加速度,单位 : m/s²。
biasXnumber施加在设备x轴未校准的加速度偏量,单位 : m/s²。
biasYnumber施加在设备上y轴未校准的加速度偏量,单位 : m/s²。
biasZnumber施加在设备z轴未校准的加速度偏量,单位 : m/s²。

GravityResponse

重力传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumber施加在设备x轴的重力加速度,单位 : m/s²。
ynumber施加在设备y轴的重力加速度,单位 : m/s²。
znumber施加在设备z轴的重力加速度,单位 : m/s²。

OrientationResponse

方向传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
alphanumber设备围绕Z轴的旋转角度,单位:度。
betanumber设备围绕X轴的旋转角度,单位:度。
gammanumber设备围绕Y轴的旋转角度,单位:度。

RotationVectorResponse

旋转矢量传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumber旋转矢量x轴分量。
ynumber旋转矢量y轴分量。
znumber旋转矢量z轴分量。
wnumber标量。

GyroscopeResponse

陀螺仪传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumber设备x轴的旋转角速度,单位rad/s。
ynumber设备y轴的旋转角速度,单位rad/s。
znumber设备z轴的旋转角速度,单位rad/s。

GyroscopeUncalibratedResponse

未校准陀螺仪传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumber设备x轴未校准的旋转角速度,单位rad/s。
ynumber设备y轴未校准的旋转角速度,单位rad/s。
znumber设备z轴未校准的旋转角速度,单位rad/s。
biasXnumber设备x轴未校准的旋转角速度偏量,单位rad/s。
biasYnumber设备y轴未校准的旋转角速度偏量,单位rad/s。
biasZnumber设备z轴未校准的旋转角速度偏量,单位rad/s。

SignificantMotionResponse

有效运动传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
scalarnumber表示剧烈运动程度。测量三个物理轴(x、y 和 z)上,设备是否存在大幅度运动;若存在大幅度运动则数据上报为1。

ProximityResponse

接近光传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
distancenumber可见物体与设备显示器的接近程度。0表示接近,大于0表示远离。

LightResponse

环境光传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
intensitynumber光强(单位:勒克斯)。

HallResponse

霍尔传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
statusnumber显示霍尔状态。测量设备周围是否存在磁力吸引,0表示没有,大于0表示有。

MagneticFieldResponse

磁场传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumberx轴环境磁场强度,单位 : μT。
ynumbery轴环境磁场强度,单位 : μT。
znumberz轴环境磁场强度,单位 : μT。

MagneticFieldUncalibratedResponse

未校准磁场传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumberx轴未校准环境磁场强度,单位 : μT。
ynumbery轴未校准环境磁场强度,单位 : μT。
znumberz轴未校准环境磁场强度,单位 : μT。
biasXnumberx轴未校准环境磁场强度偏量,单位 : μT。
biasYnumbery轴未校准环境磁场强度偏量,单位 : μT。
biasZnumberz轴未校准环境磁场强度偏量,单位 : μT。

PedometerResponse

计步传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
stepsnumber用户的行走步数。

HumidityResponse

湿度传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
humiditynumber湿度值。测量环境的相对湿度,以百分比 (%) 表示。

PedometerDetectionResponse

计步检测传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
scalarnumber计步器检测。检测用户的计步动作,如果取值为1则代表用户产生了计步行走的动作,取值为0则代表用户没有发生运动。

AmbientTemperatureResponse

温度传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
temperaturenumber环境温度(单位:摄氏度)。

BarometerResponse

气压计传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
pressurenumber压力值(单位:百帕)。

HeartRateResponse

心率传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
heartRatenumber心率值。测量用户的心率数值,单位:bpm。

WearDetectionResponse

佩戴检测传感器数据,继承于Response

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
valuenumber表示设备是否被穿戴(1表示已穿戴,0表示未穿戴)。

Options

设置传感器上报频率。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
intervalnumber表示传感器的上报频率,默认值为200000000ns。

RotationMatrixResponse

设置旋转矩阵响应对象。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
rotationArray<number>旋转矩阵。
inclinationArray<number>倾斜矩阵。

CoordinatesOptions

设置坐标选项对象。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumberx坐标方向。
ynumbery坐标方向。

GeomagneticResponse

设置地磁响应对象。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
xnumber地磁场的北分量。
ynumber地磁场的东分量。
znumber地磁场的垂直分量。
geomagneticDipnumber地磁倾角,即地球磁场线与水平面的夹角。
deflectionAnglenumber地磁偏角,即地磁北方向与正北方向在水平面上的角度。
levelIntensitynumber地磁场的水平强度。
totalIntensitynumber地磁场的总强度。

LocationOptions

指示地理位置。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.Sensor

名称类型可读可写说明
latitudenumber纬度。
longitudenumber经度。
altitudenumber海拔高度。

sensor.on(deprecated)

ACCELEROMETER(deprecated)

on(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback: Callback<AccelerometerResponse>,options?: Options): void

监听加速度传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.ACCELEROMETER代替。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ACCELEROMETER要订阅的加速度传感器类型为SENSOR_TYPE_ID_ACCELEROMETER。
callbackCallback<AccelerometerResponse>注册加速度传感器的回调函数,上报的数据类型为AccelerometerResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听线性加速度传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.LINEAR_ACCELEROMETER代替。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION要订阅的线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELERATION。
callbackCallback<LinearAccelerometerResponse>注册线性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

ACCELEROMETER_UNCALIBRATED(deprecated)

on(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback: Callback<AccelerometerUncalibratedResponse>, options?: Options): void

监听未校准加速度计传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.ACCELEROMETER_UNCALIBRATED代替。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED要订阅的未校准加速度计传感器类型为SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED。
callbackCallback<AccelerometerUncalibratedResponse>注册未校准加速度计传感器的回调函数,上报的数据类型为AccelerometerUncalibratedResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听重力传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.GRAVITY代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_GRAVITY要订阅的重力传感器类型为SENSOR_TYPE_ID_GRAVITY。
callbackCallback<GravityResponse>注册重力传感器的回调函数,上报的数据类型为GravityResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听陀螺仪传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.GYROSCOPE代替。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_GYROSCOPE要订阅的陀螺仪传感器类型为SENSOR_TYPE_ID_GYROSCOPE。
callbackCallback<GyroscopeResponse>注册陀螺仪传感器的回调函数,上报的数据类型为GyroscopeResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听未校准陀螺仪传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.GYROSCOPE_UNCALIBRATED代替。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED要订阅的未校准陀螺仪传感器类型为SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED。
callbackCallback<GyroscopeUncalibratedResponse>注册未校准陀螺仪传感器的回调函数,上报的数据类型为GyroscopeUncalibratedResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听大幅动作传感器数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.SIGNIFICANT_MOTION 代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION要订阅的大幅动作传感器类型为SENSOR_TYPE_ID_SIGNIFICANT_MOTION。
callbackCallback<SignificantMotionResponse>注册有效运动传感器的回调函数,上报的数据类型为SignificantMotionResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听计步检测传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.PEDOMETER_DETECTION代替。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION要订阅的计步检测传感器类型为SENSOR_TYPE_ID_PEDOMETER_DETECTION。
callbackCallback<PedometerDetectionResponse>注册计步检测传感器的回调函数,上报的数据类型为PedometerDetectionResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听计步传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.PEDOMETER代替。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_PEDOMETER要订阅的计步传感器类型为SENSOR_TYPE_ID_PEDOMETER。
callbackCallback<PedometerResponse>注册计步传感器的回调函数,上报的数据类型为PedometerResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听环境温度传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.AMBIENT_TEMPERATURE代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE要订阅的环境温度传感器类型为SENSOR_TYPE_ID_AMBIENT_TEMPERATURE。
callbackCallback<AmbientTemperatureResponse>注册环境温度传感器的回调函数,上报的数据类型为AmbientTemperatureResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听磁场传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.MAGNETIC_FIELD代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD要订阅的磁场传感器类型为SENSOR_TYPE_ID_MAGNETIC_FIELD。
callbackCallback<MagneticFieldResponse>注册磁场传感器的回调函数,上报的数据类型为MagneticFieldResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听未校准磁场传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.MAGNETIC_FIELD_UNCALIBRATED代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED要订阅的未校准磁场传感器类型为SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED。
callbackCallback<MagneticFieldUncalibratedResponse>注册未校准磁场传感器的回调函数,上报的数据类型为MagneticFieldUncalibratedResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听接近光传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.PROXIMITY代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_PROXIMITY要订阅的接近光传感器类型为SENSOR_TYPE_ID_PROXIMITY。
callbackCallback<ProximityResponse>注册接近光传感器的回调函数,上报的数据类型为ProximityResponse。
optionsOptions可选参数列表,默认值为200000000ns。当接近光事件被触发的很频繁时,该参数用于限定事件上报的频率。

示例:

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

监听湿度传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.HUMIDITY代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_HUMIDITY要订阅的湿度传感器类型为SENSOR_TYPE_ID_HUMIDITY。
callbackCallback<HumidityResponse>注册湿度传感器的回调函数,上报的数据类型为HumidityResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听气压计传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.BAROMETER代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_BAROMETER要订阅的气压计传感器类型为SENSOR_TYPE_ID_BAROMETER。
callbackCallback<BarometerResponse>注册气压计传感器的回调函数,上报的数据类型为BarometerResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听霍尔传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.HALL代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_HALL要订阅的霍尔传感器类型为SENSOR_TYPE_ID_HALL。
callbackCallback<HallResponse>注册霍尔传感器的回调函数,上报的数据类型为 HallResponse。
optionsOptions可选参数列表,默认值为200000000ns。当霍尔事件被触发的很频繁时,该参数用于限定事件上报的频率。

示例:

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

监听环境光传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.AMBIENT_LIGHT代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT要订阅的环境光传感器类型为SENSOR_TYPE_ID_AMBIENT_LIGHT。
callbackCallback<LightResponse>注册环境光传感器的回调函数,上报的数据类型为LightResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听方向传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.ORIENTATION代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ORIENTATION要订阅的方向传感器类型为SENSOR_TYPE_ID_ORIENTATION
callbackCallback<OrientationResponse>注册方向传感器的回调函数,上报的数据类型为OrientationResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听心率传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.HEART_RATE代替。

需要权限:ohos.permission.HEALTH_DATA

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_HEART_RATE要订阅的心率传感器类型为SENSOR_TYPE_ID_HEART_RATE。
callbackCallback<HeartRateResponse>注册心率传感器的回调函数,上报的数据类型为HeartRateResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

ROTATION_VECTOR(deprecated)

on(type: SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR,callback: Callback<RotationVectorResponse>,options?: Options): void

监听旋转矢量传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.ROTATION_VECTOR代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ROTATION_VECTOR要订阅的旋转矢量传感器类型为SENSOR_TYPE_ID_ROTATION_VECTOR。
callbackCallback<RotationVectorResponse>注册旋转矢量传感器的回调函数,上报的数据类型为RotationVectorResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听所佩戴的检测传感器的数据变化。如果多次调用该接口,仅最后一次调用生效。

从API version 9 开始不再维护,建议使用sensor.on.WEAR_DETECTION代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_WEAR_DETECTION要订阅的佩戴检测传感器类型为SENSOR_TYPE_ID_WEAR_DETECTION。
callbackCallback<WearDetectionResponse>注册佩戴检测传感器的回调函数,上报的数据类型为WearDetectionResponse。
optionsOptions可选参数列表,用于设置传感器上报频率,默认值为200000000ns。

示例:

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

监听加速度传感器的数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.ACCELEROMETER代替。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ACCELEROMETER加速度传感器类型为SENSOR_TYPE_ID_ACCELEROMETER。
callbackCallback<AccelerometerResponse>注册一次加速度传感器的回调函数,上报的数据类型为AccelerometerResponse。

示例:

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

监听线性加速度传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.LINEAR_ACCELEROMETER代替。

需要权限:ohos.permission.ACCELERATION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELERATION。
callbackCallback<LinearAccelerometerResponse>注册一次线性加速度传感器的回调函数,上报的数据类型为LinearAccelerometerResponse。

ACCELEROMETER_UNCALIBRATED(deprecated)

once(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED,callback: Callback<AccelerometerUncalibratedResponse>): void

监听未校准加速度传感器的数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.ACCELEROMETER_UNCALIBRATED代替。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED未校准加速度传感器类型为SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED。
callbackCallback<AccelerometerUncalibratedResponse>注册一次未校准加速度传感器的回调函数,上报的数据类型为AccelerometerUncalibratedResponse。

示例:

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

监听重力传感器的数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.GRAVITY代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_GRAVITY重力传感器类型为SENSOR_TYPE_ID_GRAVITY。
callbackCallback<GravityResponse>注册一次重力传感器的回调函数,上报的数据类型为GravityResponse。

示例:

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

监听陀螺仪传感器的数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.GYROSCOPE代替。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_GYROSCOPE陀螺仪传感器类型为SENSOR_TYPE_ID_GYROSCOPE。
callbackCallback<GyroscopeResponse>注册一次陀螺仪传感器的回调函数,上报的数据类型为GyroscopeResponse。

示例:

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

监听未校准陀螺仪传感器的数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.GYROSCOPE_UNCALIBRATED代替。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED未校准陀螺仪传感器类型为SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED。
callbackCallback<GyroscopeUncalibratedResponse>注册一次未校准陀螺仪传感器的回调函数,上报的数据类型为GyroscopeUncalibratedResponse。

示例:

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

监听有效运动传感器的数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.SIGNIFICANT_MOTION代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION有效运动传感器类型为SENSOR_TYPE_ID_SIGNIFICANT_MOTION。
callbackCallback<SignificantMotionResponse>注册一次有效运动传感器的回调函数,上报的数据类型为SignificantMotionResponse。

示例:

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

监听计步检测传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.PEDOMETER_DETECTION代替。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION计步检测传感器类型为SENSOR_TYPE_ID_PEDOMETER_DETECTION。
callbackCallback<PedometerDetectionResponse>注册一次计步检测传感器的回调函数,上报的数据类型为PedometerDetectionResponse。

示例:

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

监听计步器传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.PEDOMETER代替。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_PEDOMETER计步传感器类型为SENSOR_TYPE_ID_PEDOMETER。
callbackCallback<PedometerResponse>注册一次计步传感器的回调函数,上报的数据类型为PedometerResponse。

示例:

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

监听环境温度传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.AMBIENT_TEMPERATURE代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE环境温度传感器类型为SENSOR_TYPE_ID_AMBIENT_TEMPERATURE。
callbackCallback<AmbientTemperatureResponse>注册一次环境温度传感器的回调函数,上报的数据类型为AmbientTemperatureResponse。

示例:

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

监听磁场传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.MAGNETIC_FIELD代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD磁场传感器类型为SENSOR_TYPE_ID_MAGNETIC_FIELD。
callbackCallback<MagneticFieldResponse>注册一次磁场传感器的回调函数,上报的数据类型为MagneticFieldResponse。

示例:

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

监听未校准磁场传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.MAGNETIC_FIELD_UNCALIBRATED代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED未校准磁场传感器类型为SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED。
callbackCallback<MagneticFieldUncalibratedResponse>注册一次未校准磁场传感器的回调函数,上报的数据类型为MagneticFieldUncalibratedResponse。

示例:

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

监听接近光传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.PROXIMITY代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_PROXIMITY接近光传感器类型为SENSOR_TYPE_ID_PROXIMITY。
callbackCallback<ProximityResponse>注册一次接近光传感器的回调函数,上报的数据类型为ProximityResponse。

示例:

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

监听湿度传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.HUMIDITY代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_HUMIDITY湿度传感器类型为SENSOR_TYPE_ID_HUMIDITY。
callbackCallback<HumidityResponse>注册一次湿度传感器的回调函数,上报的数据类型为HumidityResponse。

示例:

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

监听气压计传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.BAROMETER代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_BAROMETER气压计传感器类型为SENSOR_TYPE_ID_BAROMETER。
callbackCallback<BarometerResponse>注册一次气压计传感器的回调函数,上报的数据类型为BarometerResponse。

示例:

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

监听霍尔传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.HALL代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_HALL霍尔传感器类型为SENSOR_TYPE_ID_HALL。
callbackCallback<HallResponse>注册一次霍尔传感器的回调函数,上报的数据类型为HallResponse。

示例:

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

监听环境光传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.AMBIENT_LIGHT代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT环境光传感器类型为SENSOR_TYPE_ID_AMBIENT_LIGHT。
callbackCallback<LightResponse>注册一次环境光传感器的回调函数,上报的数据类型为LightResponse。

示例:

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

监听方向传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.ORIENTATION代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ORIENTATION方向传感器类型为SENSOR_TYPE_ID_ORIENTATION。
callbackCallback<OrientationResponse>注册一次方向传感器的回调函数,上报的数据类型为OrientationResponse。

示例:

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

监听旋转矢量传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.ROTATION_VECTOR代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ROTATION_VECTOR旋转矢量传感器类型为SENSOR_TYPE_ID_ROTATION_VECTOR。
callbackCallback<RotationVectorResponse>注册一次旋转矢量传感器的回调函数,上报的数据类型为RotationVectorResponse。

示例:

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

监听心率传感器数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.HEART_RATE代替。

需要权限:ohos.permission.HEART_RATE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_HEART_RATE心率传感器类型为SENSOR_TYPE_ID_HEART_RATE。
callbackCallback<HeartRateResponse>注册一次心率传感器的回调函数,上报的数据类型为HeartRateResponse。

WEAR_DETECTION(deprecated)

once(type: SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback: Callback<WearDetectionResponse>): void

监听所佩戴的检测传感器的数据变化一次。

从API version 9 开始不再维护,建议使用sensor.once.WEAR_DETECTION代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_WEAR_DETECTION佩戴检测传感器类型为SENSOR_TYPE_ID_WEAR_DETECTION。
callbackCallback<WearDetectionResponse>注册一次穿戴检测传感器的回调函数,上报的数据类型为WearDetectionResponse。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.ACCELEROMETER代替。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ACCELEROMETER要取消订阅的加速度传感器类型为SENSOR_TYPE_ID_ACCELEROMETER。
callbackCallback<AccelerometerResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.ACCELEROMETER_UNCALIBRATED代替。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED要取消订阅的未校准加速度计传感器类型为SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED。
callbackCallback<AccelerometerUncalibratedResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.AMBIENT_LIGHT代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT要取消订阅的环境光传感器类型为SENSOR_TYPE_ID_AMBIENT_LIGHT。
callbackCallback<LightResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.AMBIENT_TEMPERATURE代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE要取消订阅的环境温度传感器类型为SENSOR_TYPE_ID_AMBIENT_TEMPERATURE。
callbackCallback<AmbientTemperatureResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.BAROMETER代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_BAROMETER要取消订阅的气压计传感器类型为SENSOR_TYPE_ID_BAROMETER。
callbackCallback<BarometerResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.GRAVITY代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_GRAVITY要取消订阅的重力传感器类型为SENSOR_TYPE_ID_GRAVITY。
callbackCallback<GravityResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.GYROSCOPE代替。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_GYROSCOPE要取消订阅的陀螺仪传感器类型为SENSOR_TYPE_ID_GYROSCOPE。
callbackCallback<GyroscopeResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.GYROSCOPE_UNCALIBRATED代替。

需要权限:ohos.permission.GYROSCOPE

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED要取消订阅的未校准陀螺仪传感器类型为SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED。
callbackCallback<GyroscopeUncalibratedResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.HALL代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_HALL要取消订阅的霍尔传感器类型为SENSOR_TYPE_ID_HALL。
callbackCallback<HallResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.HEART_RATE代替。

需要权限:ohos.permission.HEALTH_DATA

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_HEART_RATE要取消订阅的心率传感器类型为SENSOR_TYPE_ID_HEART_RATE。
callbackCallback<HeartRateResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.HUMIDITY代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_HUMIDITY要取消订阅的湿度传感器类型为SENSOR_TYPE_ID_HUMIDITY。
callbackCallback<HumidityResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.LINEAR_ACCELEROMETER代替。

需要权限:ohos.permission.ACCELEROMETER

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION要取消订阅的线性加速度传感器类型为SENSOR_TYPE_ID_LINEAR_ACCELERATION。
callbackCallback<LinearAccelerometerResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.MAGNETIC_FIELD代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD要取消订阅的磁场传感器类型为SENSOR_TYPE_ID_MAGNETIC_FIELD。
callbackcallbackCallback<MagneticFieldResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.MAGNETIC_FIELD_UNCALIBRATED代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED要取消订阅的未校准磁场传感器类型为SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED。
callbackCallback<MagneticFieldUncalibratedResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.ORIENTATION代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ORIENTATION要取消订阅的方向传感器类型为SENSOR_TYPE_ID_ORIENTATION
callbackCallback<OrientationResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.PEDOMETER代替。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_PEDOMETER要取消订阅的计步传感器类型为SENSOR_TYPE_ID_PEDOMETER。
callbackCallback<PedometerResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.PEDOMETER_DETECTION代替。

需要权限:ohos.permission.ACTIVITY_MOTION

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION要取消订阅的计步检测传感器类型为SENSOR_TYPE_ID_PEDOMETER_DETECTION。
callbackCallback<PedometerDetectionResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.PROXIMITY代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_PROXIMITY要取消订阅的接近光传感器类型为SENSOR_TYPE_ID_PROXIMITY。
callbackCallback<ProximityResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.ROTATION_VECTOR代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_ROTATION_VECTOR要取消订阅的旋转矢量传感器类型为SENSOR_TYPE_ID_ROTATION_VECTOR。
callbackCallback<RotationVectorResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.SIGNIFICANT_MOTION代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION要取消订阅的大幅动作传感器类型为SENSOR_TYPE_ID_SIGNIFICANT_MOTION。
callbackCallback<SignificantMotionResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

取消订阅传感器数据。

从API version 9 开始不再维护,建议使用sensor.off.WEAR_DETECTION代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
typeSensorType.SENSOR_TYPE_ID_WEAR_DETECTION要取消订阅的佩戴检测传感器类型为SENSOR_TYPE_ID_WEAR_DETECTION。
callbackCallback<WearDetectionResponse>需要取消订阅的回调函数,若无此参数,则取消订阅当前类型的所有回调函数。

示例:

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

旋转提供的旋转矩阵,使其可以以不同的方式表示坐标系,使用Callback异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.transformRotationMatrix代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
inRotationVectorArray<number>表示旋转矩阵。
coordinatesCoordinatesOptions表示坐标系方向。
callbackAsyncCallback<Array<number>>异步返回转换后的旋转矩阵。

示例:

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<number>) => {
  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>>

旋转提供的旋转矩阵,使其可以以不同的方式表示坐标系,使用Promise异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.transformRotationMatrix代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
inRotationVectorArray<number>表示旋转矩阵。
coordinatesCoordinatesOptions表示坐标系方向。

返回值:

类型说明
Promise<Array<number>>使用异步方式返回转换后的旋转矩阵。

示例:

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<number>) => {
  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

获取地球上特定位置的地磁场,使用callback异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getGeomagneticInfo代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
locationOptionsLocationOptions地理位置。
timeMillisnumber表示获取磁偏角的时间,单位为毫秒。
callbackAsyncCallback<GeomagneticResponse>异步返回磁场信息。

示例:

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>

获取地球上特定位置的地磁场,使用Promise异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getGeomagneticInfo代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
locationOptionsLocationOptions地理位置。
timeMillisnumber表示获取磁偏角的时间,单位为毫秒。

返回值:

类型说明
Promise<GeomagneticResponse>使用异步方式返回磁场信息。

示例:

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

根据气压值获取设备所在的海拔高度,使用Callback异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getDeviceAltitude代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
seaPressurenumber表示海平面气压值,单位为hPa。
currentPressurenumber表示设备所在高度的气压值,单位为hPa。
callbackAsyncCallback<number>异步返回设备所在的海拔高度,单位为米。

示例:

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>

根据气压值获取设备所在的海拔高度,使用Promise异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getDeviceAltitude代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
seaPressurenumber表示海平面气压值,单位为hPa。
currentPressurenumber表示设备所在高度的气压值,单位为hPa。

返回值:

类型说明
Promise<number>使用异步方式返回设备所在的海拔高度(单位:米)。

示例:

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

根据倾斜矩阵计算地磁倾斜角,使用Callback异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getInclination代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
inclinationMatrixArray<number>表示倾斜矩阵。
callbackAsyncCallback<number>异步返回地磁倾斜角,单位为弧度。

示例:

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>

根据倾斜矩阵计算地磁倾斜角,使用Promise异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getInclination代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
inclinationMatrixArray<number>表示倾斜矩阵。

返回值:

类型说明
Promise<number>使用异步方式返回地磁倾斜角,单位为弧度。

示例:

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

获取两个旋转矩阵之间的角度变化,使用Callback异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getAngleVariation代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
currentRotationMatrixArray<number>表示当前旋转矩阵。
preRotationMatrixArray<number>表示旋转矩阵。
callbackAsyncCallback<Array<number>>异步返回z、x、y轴方向的旋转角度变化。

示例:

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<number>) => {
  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>>

获取两个旋转矩阵之间的角度变化,使用Promise异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getAngleVariation代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
currentRotationMatrixArray<number>表示当前旋转矩阵。
preRotationMatrixArray<number>表示旋转矩阵。

返回值:

类型说明
Promise<Array<number>>使用异步方式返回z、x、y轴方向的旋转角度变化。

示例:

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<number>) => {
  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

将旋转矢量转换为旋转矩阵,使用Callback异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getRotationMatrix代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationVectorArray<number>表示旋转矢量。
callbackAsyncCallback<Array<number>>异步返回旋转矩阵。

示例:

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<number>) => {
  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>>

将旋转矢量转换为旋转矩阵,使用Promise异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getRotationMatrix代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationVectorArray<number>表示旋转矢量。

返回值:

类型说明
Promise<Array<number>>使用异步方式返回旋转矩阵。

示例:

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<number>) => {
 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

将旋转矢量转换为四元数,使用Callback异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getQuaternion代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationVectorArray<number>表示旋转矢量。
callbackAsyncCallback<Array<number>>异步返回四元数。

示例:

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<number>) => {
  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>>

将旋转矢量转换为四元数,使用Promise异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getQuaternion代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationVectorArray<number>表示旋转矢量。

返回值:

类型说明
Promise<Array<number>>使用异步方式返回四元数。

示例:

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<number>) => {
  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

根据旋转矩阵计算设备的方向,使用Callback异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getOrientation代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationMatrixArray<number>表示旋转矩阵。
callbackAsyncCallback<Array<number>>异步返回围绕z、x、y轴方向的旋转角度。

示例:

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<number>) => {
  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>>

根据旋转矩阵计算设备的方向,使用Promise异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getOrientation代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
rotationMatrixArray<number>表示旋转矩阵。

返回值:

类型说明
Promise<Array<number>>使用异步方式返回围绕z、x、y轴方向的旋转角度。

示例:

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<number>) => {
  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

根据重力矢量和地磁矢量计算旋转矩阵,使用Callback异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getRotationMatrix代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
gravityArray<number>表示重力向量。
geomagneticArray<number>表示地磁矢量。
callbackAsyncCallback<RotationMatrixResponse>异步返回旋转矩阵。

示例:

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>

根据重力矢量和地磁矢量计算旋转矩阵,使用Promise异步方式返回结果。

从API version 9 开始不再维护,建议使用sensor.getRotationMatrix代替。

系统能力:SystemCapability.Sensors.Sensor

参数:

参数名类型必填说明
gravityArray<number>表示重力向量。
geomagneticArray<number>表示地磁矢量。

返回值:

类型说明
Promise<RotationMatrixResponse>使用异步方式返回旋转矩阵。

示例:

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.`);
})

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/ebb1b923d8374c72bd2054c5195d3d8e