1# @ohos.multimodalAwareness.deviceStatus(设备状态感知) 2 3本模块,提供对设备状态的感知能力。 4 5> **说明:** 6> 7> 本模块首批接口从API version 18开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11 ```ts 12 import { deviceStatus } from '@kit.MultimodalAwarenessKit'; 13 ``` 14 15## SteadyStandingStatus 16 17设备静止姿态感知状态(支架态)。 18 19设备进入支架态指设备静止,且屏幕与水平面角度处于45度-135度。折叠屏手机需处于折叠状态或者完全展开状态。 20 21**系统能力**:SystemCapability.MultimodalAwareness.DeviceStatus 22 23| 名称 | 值 | 说明 | 24| ------------------- | ---- | ---------------------- | 25| STATUS_EXIT | 0 | 表示设备退出支架态。 | 26| STATUS_ENTER | 1 | 表示设备进入支架态。 | 27 28## deviceStatus.on('steadyStandingDetect') 29 30 on(type: 'steadyStandingDetect', callback: Callback<SteadyStandingStatus>): void; 31 32订阅设备静止姿态感知(支架态)事件。 33 34**系统能力**:SystemCapability.MultimodalAwareness.DeviceStatus 35 36**参数**: 37 38| 参数名 | 类型 | 必填 | 说明 | 39| -------- | -------------------------------- | ---- | ------------------------------------------------------------ | 40| type | string | 是 | 事件类型。type为“steadyStandingDetect”,表示设备静止姿态(支架态)感知。 | 41| callback | Callback<[SteadyStandingStatus](#steadystandingstatus)> | 是 | 回调函数,返回设备静止姿态感知(支架态)状态信息。| 42 43**错误码**: 44 45以下错误码的详细介绍请参见[设备状态感知错误码](errorcode-deviceStatus.md)和[通用错误码](../errorcode-universal.md)。 46 47| 错误码ID | 错误信息 | 48| -------- | ------------------------------------------------------------ | 49| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | 50| 801 | Capability not supported. Function can not work correctly due to limited device capabilities. | 51| 32500001 | Service exception. | 52| 32500002 | Subscribe Failed. | 53 54**示例**: 55 56 ```ts 57 try { 58 deviceStatus.on('steadyStandingDetect', (data:deviceStatus.SteadyStandingStatus) => { 59 console.info('now status = ' + data); 60 }); 61 } catch (err) { 62 console.info('on failed, err = ' + err); 63 } 64 ``` 65 66## deviceStatus.off('steadyStandingDetect') 67 68off(type: 'steadyStandingDetect', callback?: Callback<SteadyStandingStatus>): void; 69 70取消订阅设备静止姿态感知(支架态)事件。 71 72**系统能力**:SystemCapability.MultimodalAwareness.DeviceStatus 73 74**参数**: 75 76| 参数名 | 类型 | 必填 | 说明 | 77| -------- | -------------------------------- | ---- | ------------------------------------------------------------ | 78| type | string | 是 | 事件类型。type为“steadyStandingDetect”,表示设备静止姿态(支架态)感知。 | 79| callback | Callback<[SteadyStandingStatus](#steadystandingstatus)> | 是 | 回调函数,返回设备静止姿态感知(支架态)状态信息。| 80 81**错误码**: 82 83以下错误码的详细介绍请参见[设备状态感知错误码](errorcode-deviceStatus.md)和[通用错误码](../errorcode-universal.md)。 84 85| 错误码ID | 错误信息 | 86| -------- | ------------------------------------------------------------ | 87| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | 88| 801 | Capability not supported. Function can not work correctly due to limited device capabilities. | 89| 32500001 | Service exception. | 90| 32500003 | Unsubscribe Failed. | 91 92**示例**: 93 94示例一:取消订阅该客户端订阅设备静止姿态感知(支架态)事件的所有回调。 95 96 ```ts 97 try { 98 deviceStatus.off('steadyStandingDetect'); 99 } catch (err) { 100 console.info('off failed, err = ' + err); 101 } 102 ``` 103 104示例二:取消订阅该客户端订阅设备静止姿态感知(支架态)事件的特定回调。 105 106 ```ts 107 import { Callback } from '@ohos.base'; 108 // 定义callback变量 109 let callback : Callback<deviceStatus.SteadyStandingStatus> = (data : deviceStatus.SteadyStandingStatus) => { 110 console.info('now status = ' + data); 111 }; 112 // 以callback为回调函数,订阅设备静止姿态感知(支架态)事件 113 try { 114 deviceStatus.on('steadyStandingDetect', callback); 115 } catch (err) { 116 console.info('on failed, err = ' + err); 117 } 118 // 取消该客户端订阅设备静止姿态感知(支架态)事件的特定回调函数 119 try { 120 deviceStatus.off('steadyStandingDetect', callback); 121 } catch (err) { 122 console.info('off failed, err = ' + err); 123 } 124 ```