设备状态感知框架

2024-01-23 17:47 更新

设备状态感知框架提供设备状态感知能力,包括绝对静止和相对静止。

说明

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

本模块不支持x86模拟器。

导入模块

  1. import stationary from '@ohos.stationary'

ActivityResponse

服务响应抽象接口。

系统能力:SystemCapability.Msdp.DeviceStatus.Stationary

属性

名称

类型

可读

可写

说明

state

ActivityState

设备状态变化返回值。

ActivityType

设备状态类型。

系统能力:SystemCapability.Msdp.DeviceStatus.Stationary

名称

说明

still

绝对静止。

relativeStill

相对静止。

ActivityEvent

设备状态事件。

系统能力:SystemCapability.Msdp.DeviceStatus.Stationary

名称

说明

ENTER

1

进入。

EXIT

2

退出。

ENTER_EXIT

3

进入和退出。

ActivityState

设备状态返回值。

系统能力:SystemCapability.Msdp.DeviceStatus.Stationary

名称

说明

ENTER

1

进入。

EXIT

2

退出。

stationary.on('still' | 'relativeStill')

on(activity: ActivityType, event: ActivityEvent, reportLatencyNs: number, callback: Callback<ActivityResponse>): void

设备状态管理,订阅设备状态服务。

系统能力:SystemCapability.Msdp.DeviceStatus.Stationary

参数:

参数名

类型

必填

说明

activity

ActivityType

设备状态能力类型。

event

ActivityEvent

事件类型。

reportLatencyNs

number

报告延时。

callback

Callback<ActivityResponse>

回调函数,接收上报状态变化事件。

示例:

  1. var reportLatencyNs = 100;
  2. stationary.on('still', stationary.ActivityEvent.ENTER, reportLatencyNs, (data) => {
  3. console.log('data='+ JSON.stringify(data));
  4. })

stationary.once('still' | 'relativeStill')

once(activity: ActivityType, callback: Callback<ActivityResponse>): void

设备状态管理,查询设备状态。

系统能力:SystemCapability.Msdp.DeviceStatus.Stationary

参数:

参数名

类型

必填

说明

activity

ActivityType

设备状态能力类型。

callback

Callback<ActivityResponse>

回调函数,接收上报状态变化事件。

示例:

  1. stationary.once('still', (data) => {
  2. console.log("data="+ JSON.stringify(data));
  3. })

stationary.off('still' | 'relativeStill')

off(activity: ActivityType, event: ActivityEvent, callback?: Callback<ActivityResponse>): void

设备状态管理,取消订阅设备状态服务。

系统能力:SystemCapability.Msdp.DeviceStatus.Stationary

参数:

参数名

类型

必填

说明

activity

ActivityType

设备状态能力类型。

event

ActivityEvent

事件类型。

callback

Callback<ActivityResponse>

回调函数,接收上报状态变化事件,如果没有传递callback参数,会移除该进程下订阅该类型得所有callback。

示例:

  1. stationary.off('still', stationary.ActivityEvent.ENTER);
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号