1# @ohos.stationary (设备状态感知框架) 2 3设备状态感知框架提供设备状态感知能力,包括绝对静止和相对静止。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 9> 本模块不支持x86模拟器。 10 11## 导入模块 12 13```js 14import stationary from '@ohos.stationary' 15``` 16 17## ActivityResponse 18 19服务响应抽象接口。 20 21**系统能力**:SystemCapability.Msdp.DeviceStatus.Stationary 22 23### 属性 24 25| 名称 | 类型 | 可读 | 可写 | 说明 | 26| -------- | -------- | -------- | -------- | -------- | 27| state | [ActivityState](#activitystate) | 是 | 否 | 设备状态变化返回值。 | 28 29## ActivityType 30 31设备状态类型。 32 33**系统能力**:SystemCapability.Msdp.DeviceStatus.Stationary 34 35| 名称 | 说明 | 36| -------- | -------- | 37| still | 绝对静止。 | 38| relativeStill | 相对静止。 | 39 40## ActivityEvent 41 42设备状态事件。 43 44**系统能力**:SystemCapability.Msdp.DeviceStatus.Stationary 45 46| 名称 | 值 | 说明 | 47| ------------------------------ | ---- | ---------------------------------------- | 48| ENTER | 1 | 进入。 | 49| EXIT | 2 | 退出。 | 50| ENTER_EXIT | 3 | 进入和退出。 | 51 52## ActivityState 53 54设备状态返回值。 55 56**系统能力**:SystemCapability.Msdp.DeviceStatus.Stationary 57 58| 名称 | 值 | 说明 | 59| ------------------------------ | ---- | ---------------------------------------- | 60| ENTER | 1 | 进入。 | 61| EXIT | 2 | 退出。 | 62 63## stationary.on('still' | 'relativeStill') 64 65on(activity: ActivityType, event: ActivityEvent, reportLatencyNs: number, callback: Callback<ActivityResponse>): void 66 67设备状态管理,订阅设备状态服务。 68 69**系统能力**:SystemCapability.Msdp.DeviceStatus.Stationary 70 71**参数:** 72 73| 参数名 | 类型 | 必填 | 说明 | 74| -------------------- | -------------------------------------------------- | ---- | ---------------------------- | 75| activity | [ActivityType](#activitytype) | 是 | 设备状态能力类型。 | 76| event | [ActivityEvent](#activityevent) | 是 | 事件类型。 | 77| reportLatencyNs | number | 是 | 报告延时。 | 78| callback | Callback<[ActivityResponse](#activityresponse)\> | 是 | 回调函数,接收上报状态变化事件。 | 79 80**示例:** 81 82```js 83var reportLatencyNs = 100; 84stationary.on('still', stationary.ActivityEvent.ENTER, reportLatencyNs, (data) => { 85 console.log('data='+ JSON.stringify(data)); 86}) 87``` 88 89## stationary.once('still' | 'relativeStill') 90 91once(activity: ActivityType, callback: Callback<ActivityResponse>): void 92 93设备状态管理,查询设备状态。 94 95**系统能力**:SystemCapability.Msdp.DeviceStatus.Stationary 96 97**参数:** 98 99| 参数名 | 类型 | 必填 | 说明 | 100| -------------------- | -------------------------------------------------- | ---- | ---------------------------- | 101| activity | [ActivityType](#activitytype) | 是 | 设备状态能力类型。 | 102| callback | Callback<[ActivityResponse](#activityresponse)\> | 是 | 回调函数,接收上报状态变化事件。 | 103 104**示例:** 105 106```js 107stationary.once('still', (data) => { 108 console.log("data="+ JSON.stringify(data)); 109}) 110``` 111 112## stationary.off('still' | 'relativeStill') 113 114off(activity: ActivityType, event: ActivityEvent, callback?: Callback<ActivityResponse>): void 115 116设备状态管理,取消订阅设备状态服务。 117 118**系统能力**:SystemCapability.Msdp.DeviceStatus.Stationary 119 120**参数:** 121 122| 参数名 | 类型 | 必填 | 说明 | 123| -------------------- | -------------------------------------------------- | ---- | ---------------------------- | 124| activity | [ActivityType](#activitytype) | 是 | 设备状态能力类型。 | 125| event | [ActivityEvent](#activityevent) | 是 | 事件类型。 | 126| callback | Callback<[ActivityResponse](#activityresponse)\> | 否 | 回调函数,接收上报状态变化事件。 | 127 128**示例:** 129 130```js 131stationary.off('still', stationary.ActivityEvent.ENTER); 132``` 133