1e41f4b71Sopenharmony_ci# @ohos.distributedHardware.deviceManager (设备管理)(系统接口) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci本模块能力已更新至新模块。建议使用新模块的接口进行开发,参见[@ohos.distributedDeviceManager](js-apis-distributedDeviceManager.md)。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci本模块提供分布式设备管理能力。 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci系统应用可调用接口实现如下功能: 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci- 注册和解除注册设备上下线变化监听 10e41f4b71Sopenharmony_ci- 发现周边不可信设备 11e41f4b71Sopenharmony_ci- 认证和取消认证设备 12e41f4b71Sopenharmony_ci- 查询可信设备列表 13e41f4b71Sopenharmony_ci- 查询本地设备信息,包括设备名称,设备类型和设备标识 14e41f4b71Sopenharmony_ci- 发布设备发现 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci> **说明:** 17e41f4b71Sopenharmony_ci> 18e41f4b71Sopenharmony_ci> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 19e41f4b71Sopenharmony_ci> - 本模块为系统接口,三方应用不支持调用。 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci## 导入模块 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci```ts 25e41f4b71Sopenharmony_ciimport deviceManager from '@ohos.distributedHardware.deviceManager'; 26e41f4b71Sopenharmony_ci``` 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci## deviceManager.createDeviceManager 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_cicreateDeviceManager(bundleName: string, callback: AsyncCallback<DeviceManager>): void 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci创建一个设备管理器实例。 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[deviceManager.createDeviceManager](js-apis-distributedDeviceManager.md#devicemanagercreatedevicemanager)替代。 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci**错误码:** 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 44e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 45e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 46e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci**参数:** 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 51e41f4b71Sopenharmony_ci| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | 52e41f4b71Sopenharmony_ci| bundleName | string | 是 | 指示应用程序的Bundle名称。 | 53e41f4b71Sopenharmony_ci| callback | AsyncCallback<[DeviceManager](#devicemanager)> | 是 | DeviceManager实例创建时调用的回调,返回设备管理器对象实例。 | 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci**示例:** 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci ```ts 58e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 59e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ci let dmInstance: deviceManager.DeviceManager | null = null; 62e41f4b71Sopenharmony_ci try { 63e41f4b71Sopenharmony_ci deviceManager.createDeviceManager("ohos.samples.jshelloworld", (err: BusinessError, data: deviceManager.DeviceManager) => { 64e41f4b71Sopenharmony_ci if (err) { 65e41f4b71Sopenharmony_ci console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message); 66e41f4b71Sopenharmony_ci return; 67e41f4b71Sopenharmony_ci } 68e41f4b71Sopenharmony_ci console.info("createDeviceManager success"); 69e41f4b71Sopenharmony_ci dmInstance = data; 70e41f4b71Sopenharmony_ci }); 71e41f4b71Sopenharmony_ci } catch(err) { 72e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 73e41f4b71Sopenharmony_ci console.error("createDeviceManager errCode:" + e.code + ",errMessage:" + e.message); 74e41f4b71Sopenharmony_ci } 75e41f4b71Sopenharmony_ci ``` 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci## DeviceInfo 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci设备信息。 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[DeviceBasicInfo](js-apis-distributedDeviceManager.md#devicebasicinfo)替代。 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 86e41f4b71Sopenharmony_ci| ---------------------- | ------------------------- | ---- | -------- | 87e41f4b71Sopenharmony_ci| deviceId | string | 是 | 设备的唯一标识。 | 88e41f4b71Sopenharmony_ci| deviceName | string | 是 | 设备名称。 | 89e41f4b71Sopenharmony_ci| deviceType | [DeviceType](#devicetype) | 是 | 设备类型。 | 90e41f4b71Sopenharmony_ci| networkId<sup>8+</sup> | string | 是 | 设备网络标识。 | 91e41f4b71Sopenharmony_ci| range<sup>9+</sup> | number | 是 | 发现设备的距离。 | 92e41f4b71Sopenharmony_ci| authForm<sup>10+</sup> | [AuthForm](#authform10) | 是 | 设备认证类型。 | 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_ci## DeviceType 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci表示设备类型的枚举类。 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 103e41f4b71Sopenharmony_ci| ------------ | ---- | ---- | 104e41f4b71Sopenharmony_ci| SPEAKER | 0x0A | 智能音箱。 | 105e41f4b71Sopenharmony_ci| PHONE | 0x0E | 手机。 | 106e41f4b71Sopenharmony_ci| TABLET | 0x11 | 平板。 | 107e41f4b71Sopenharmony_ci| WEARABLE | 0x6D | 智能穿戴。 | 108e41f4b71Sopenharmony_ci| TV | 0x9C | 智慧屏。 | 109e41f4b71Sopenharmony_ci| CAR | 0x83 | 车。 | 110e41f4b71Sopenharmony_ci| UNKNOWN_TYPE | 0 | 未知设备。 | 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci## AuthForm<sup>10+</sup> 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci表示设备认证类型的枚举类。 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 121e41f4b71Sopenharmony_ci| ------------------- | ---- | --------------- | 122e41f4b71Sopenharmony_ci| INVALID_TYPE | -1 | 设备没有认证。 | 123e41f4b71Sopenharmony_ci| PEER_TO_PEER | 0 | 无账号设备点对点认证。 | 124e41f4b71Sopenharmony_ci| IDENTICAL_ACCOUNT | 1 | 设备同账号认证。 | 125e41f4b71Sopenharmony_ci| ACROSS_ACCOUNT | 2 | 设备跨账号认证。 | 126e41f4b71Sopenharmony_ci 127e41f4b71Sopenharmony_ci## DeviceStateChangeAction 128e41f4b71Sopenharmony_ci 129e41f4b71Sopenharmony_ci表示设备状态变化的枚举。 130e41f4b71Sopenharmony_ci 131e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[DeviceStateChange](js-apis-distributedDeviceManager.md#devicestatechange)替代。 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 136e41f4b71Sopenharmony_ci| ------- | ---- | --------------- | 137e41f4b71Sopenharmony_ci| ONLINE | 0 | 设备物理上线状态。 | 138e41f4b71Sopenharmony_ci| READY | 1 | 设备可用状态,表示设备间信息已在分布式数据中同步完成, 可以运行分布式业务。 | 139e41f4b71Sopenharmony_ci| OFFLINE | 2 | 设备物理下线状态。 | 140e41f4b71Sopenharmony_ci| CHANGE | 3 | 设备信息更改。 | 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci## SubscribeInfo 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci发现信息。 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 151e41f4b71Sopenharmony_ci| ------------- | --------------------------------- | ---- | ----------------- | 152e41f4b71Sopenharmony_ci| subscribeId | number | 是 | 发现标识,用于标识不同的发现周期。 | 153e41f4b71Sopenharmony_ci| mode | [DiscoverMode ](#discovermode) | 是 | 发现模式。 | 154e41f4b71Sopenharmony_ci| medium | [ExchangeMedium](#exchangemedium) | 是 | 发现类型。 | 155e41f4b71Sopenharmony_ci| freq | [ExchangeFreq](#exchangefreq) | 是 | 发现频率。 | 156e41f4b71Sopenharmony_ci| isSameAccount | boolean | 否 | 是否同帐号。 | 157e41f4b71Sopenharmony_ci| isWakeRemote | boolean | 否 | 是否唤醒设备。 | 158e41f4b71Sopenharmony_ci| capability | [SubscribeCap](#subscribecap) | 是 | 发现能力。 | 159e41f4b71Sopenharmony_ci 160e41f4b71Sopenharmony_ci 161e41f4b71Sopenharmony_ci## DiscoverMode 162e41f4b71Sopenharmony_ci 163e41f4b71Sopenharmony_ci表示发现模式的枚举。 164e41f4b71Sopenharmony_ci 165e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 166e41f4b71Sopenharmony_ci 167e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 168e41f4b71Sopenharmony_ci 169e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 170e41f4b71Sopenharmony_ci| --------------------- | ---- | ----- | 171e41f4b71Sopenharmony_ci| DISCOVER_MODE_PASSIVE | 0x55 | 被动模式。 | 172e41f4b71Sopenharmony_ci| DISCOVER_MODE_ACTIVE | 0xAA | 主动模式。 | 173e41f4b71Sopenharmony_ci 174e41f4b71Sopenharmony_ci 175e41f4b71Sopenharmony_ci## ExchangeMedium 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ci表示发现类型的枚举。 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 180e41f4b71Sopenharmony_ci 181e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 182e41f4b71Sopenharmony_ci 183e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 184e41f4b71Sopenharmony_ci| ---- | ---- | --------- | 185e41f4b71Sopenharmony_ci| AUTO | 0 | 自动发现类型。 | 186e41f4b71Sopenharmony_ci| BLE | 1 | 蓝牙发现类型。 | 187e41f4b71Sopenharmony_ci| COAP | 2 | WiFi发现类型。 | 188e41f4b71Sopenharmony_ci| USB | 3 | USB发现类型。 | 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci## ExchangeFreq 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci表示发现频率的枚举。 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 195e41f4b71Sopenharmony_ci 196e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 199e41f4b71Sopenharmony_ci| ---------- | ---- | ----- | 200e41f4b71Sopenharmony_ci| LOW | 0 | 低频率。 | 201e41f4b71Sopenharmony_ci| MID | 1 | 中频率。 | 202e41f4b71Sopenharmony_ci| HIGH | 2 | 高频率。 | 203e41f4b71Sopenharmony_ci| SUPER_HIGH | 3 | 超高频率。 | 204e41f4b71Sopenharmony_ci 205e41f4b71Sopenharmony_ci 206e41f4b71Sopenharmony_ci## SubscribeCap 207e41f4b71Sopenharmony_ci 208e41f4b71Sopenharmony_ci表示发现能力的枚举。 209e41f4b71Sopenharmony_ci 210e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 211e41f4b71Sopenharmony_ci 212e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 215e41f4b71Sopenharmony_ci| ------------------------- | ---- | -------------- | 216e41f4b71Sopenharmony_ci| SUBSCRIBE_CAPABILITY_DDMP | 0 | DDMP能力,后续会被废弃。 | 217e41f4b71Sopenharmony_ci| SUBSCRIBE_CAPABILITY_OSD | 1 | OSD能力。 | 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ci 220e41f4b71Sopenharmony_ci## AuthParam 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_ci认证参数。 223e41f4b71Sopenharmony_ci 224e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 225e41f4b71Sopenharmony_ci 226e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 229e41f4b71Sopenharmony_ci| --------- | -------------------- | ---- | ---------- | 230e41f4b71Sopenharmony_ci| authType | number | 是 | 认证类型。 | 231e41f4b71Sopenharmony_ci| extraInfo | {[key:string] : any} | 否 | 认证参数可扩展字段。可选,默认为undefined。 | 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci## AuthInfo 234e41f4b71Sopenharmony_ci 235e41f4b71Sopenharmony_ci认证信息。 236e41f4b71Sopenharmony_ci 237e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 238e41f4b71Sopenharmony_ci 239e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 240e41f4b71Sopenharmony_ci 241e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 242e41f4b71Sopenharmony_ci| --------- | -------------------- | ---- | ---------- | 243e41f4b71Sopenharmony_ci| authType | number | 是 | 认证类型。 | 244e41f4b71Sopenharmony_ci| token | number | 是 | 认证Token。 | 245e41f4b71Sopenharmony_ci| extraInfo | {[key:string] : any} | 否 | 认证信息可扩展字段。可选,默认为undefined。 | 246e41f4b71Sopenharmony_ci 247e41f4b71Sopenharmony_ci## PublishInfo<sup>9+</sup> 248e41f4b71Sopenharmony_ci 249e41f4b71Sopenharmony_ci发布设备参数 250e41f4b71Sopenharmony_ci 251e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 252e41f4b71Sopenharmony_ci 253e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedHardware.DeviceManager 254e41f4b71Sopenharmony_ci 255e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 256e41f4b71Sopenharmony_ci| ------------- | --------------------------------- | ---- | ----------------- | 257e41f4b71Sopenharmony_ci| publishId | number | 是 | 发布设备标识,用于标识不同的发布周期。 | 258e41f4b71Sopenharmony_ci| mode | [DiscoverMode ](#discovermode) | 是 | 发现模式。 | 259e41f4b71Sopenharmony_ci| freq | [ExchangeFreq](#exchangefreq) | 是 | 发现频率。 | 260e41f4b71Sopenharmony_ci| ranging | boolean | 是 | 发布的设备是否支持测距能力。 | 261e41f4b71Sopenharmony_ci 262e41f4b71Sopenharmony_ci## DeviceManager 263e41f4b71Sopenharmony_ci 264e41f4b71Sopenharmony_ci设备管理实例,用于获取可信设备和本地设备的相关信息。在调用DeviceManager的方法前,需要先通过createDeviceManager构建一个DeviceManager实例dmInstance。 265e41f4b71Sopenharmony_ci 266e41f4b71Sopenharmony_ci### release 267e41f4b71Sopenharmony_ci 268e41f4b71Sopenharmony_cirelease(): void 269e41f4b71Sopenharmony_ci 270e41f4b71Sopenharmony_ci设备管理实例不再使用后,通过该方法释放DeviceManager实例。 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[deviceManager.releaseDeviceManager](js-apis-distributedDeviceManager.md#devicemanagerreleasedevicemanager)替代。 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci**错误码:** 279e41f4b71Sopenharmony_ci 280e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 283e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 284e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 285e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 286e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 287e41f4b71Sopenharmony_ci 288e41f4b71Sopenharmony_ci**示例:** 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 291e41f4b71Sopenharmony_ci ```ts 292e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ci try { 295e41f4b71Sopenharmony_ci dmInstance.release(); 296e41f4b71Sopenharmony_ci } catch (err) { 297e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 298e41f4b71Sopenharmony_ci console.error("release errCode:" + e.code + ",errMessage:" + e.message); 299e41f4b71Sopenharmony_ci } 300e41f4b71Sopenharmony_ci ``` 301e41f4b71Sopenharmony_ci 302e41f4b71Sopenharmony_ci### getTrustedDeviceListSync 303e41f4b71Sopenharmony_ci 304e41f4b71Sopenharmony_cigetTrustedDeviceListSync(): Array<DeviceInfo> 305e41f4b71Sopenharmony_ci 306e41f4b71Sopenharmony_ci同步获取所有可信设备列表。 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[getAvailableDeviceListSync](js-apis-distributedDeviceManager.md#getavailabledevicelistsync)替代。 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ci**返回值:** 315e41f4b71Sopenharmony_ci 316e41f4b71Sopenharmony_ci | 名称 | 说明 | 317e41f4b71Sopenharmony_ci | -------------------------------------- | --------- | 318e41f4b71Sopenharmony_ci | Array<[DeviceInfo](#deviceinfo)> | 返回可信设备列表。 | 319e41f4b71Sopenharmony_ci 320e41f4b71Sopenharmony_ci**错误码:** 321e41f4b71Sopenharmony_ci 322e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 323e41f4b71Sopenharmony_ci 324e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 325e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 326e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 327e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 328e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 329e41f4b71Sopenharmony_ci 330e41f4b71Sopenharmony_ci**示例:** 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 333e41f4b71Sopenharmony_ci ```ts 334e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 335e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci try { 338e41f4b71Sopenharmony_ci let deviceInfoList: Array<deviceManager.DeviceInfo> = dmInstance.getTrustedDeviceListSync(); 339e41f4b71Sopenharmony_ci } catch (err) { 340e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 341e41f4b71Sopenharmony_ci console.error("getTrustedDeviceListSync errCode:" + e.code + ",errMessage:" + e.message); 342e41f4b71Sopenharmony_ci } 343e41f4b71Sopenharmony_ci ``` 344e41f4b71Sopenharmony_ci 345e41f4b71Sopenharmony_ci### getTrustedDeviceListSync<sup>10+</sup> 346e41f4b71Sopenharmony_ci 347e41f4b71Sopenharmony_cigetTrustedDeviceListSync(isRefresh: boolean): Array<DeviceInfo> 348e41f4b71Sopenharmony_ci 349e41f4b71Sopenharmony_ci打开软总线系统端的心跳模式,让周围处于下线状态的可信设备快速上线,同时刷新已上线的可信设备列表。 350e41f4b71Sopenharmony_ci 351e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 352e41f4b71Sopenharmony_ci 353e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_ci**参数:** 358e41f4b71Sopenharmony_ci 359e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 360e41f4b71Sopenharmony_ci| ------------- | --------------------------------- | ---- | ---------------------------------- | 361e41f4b71Sopenharmony_ci| isRefresh | boolean | 是 | 是否打开心跳模式,刷新可信列表。 | 362e41f4b71Sopenharmony_ci 363e41f4b71Sopenharmony_ci**返回值:** 364e41f4b71Sopenharmony_ci 365e41f4b71Sopenharmony_ci| 名称 | 说明 | 366e41f4b71Sopenharmony_ci| -------------------------------------- | ---------------- | 367e41f4b71Sopenharmony_ci| Array<[DeviceInfo](#deviceinfo)> | 返回可信设备列表。 | 368e41f4b71Sopenharmony_ci 369e41f4b71Sopenharmony_ci**错误码:** 370e41f4b71Sopenharmony_ci 371e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 372e41f4b71Sopenharmony_ci 373e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 374e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 375e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 376e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 377e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. | 378e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 379e41f4b71Sopenharmony_ci 380e41f4b71Sopenharmony_ci**示例:** 381e41f4b71Sopenharmony_ci 382e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 383e41f4b71Sopenharmony_ci ```ts 384e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 385e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 386e41f4b71Sopenharmony_ci 387e41f4b71Sopenharmony_ci try { 388e41f4b71Sopenharmony_ci let deviceInfoList: Array<deviceManager.DeviceInfo> = dmInstance.getTrustedDeviceListSync(true); 389e41f4b71Sopenharmony_ci } catch (err) { 390e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 391e41f4b71Sopenharmony_ci console.error("getTrustedDeviceListSync errCode:" + e.code + ",errMessage:" + e.message); 392e41f4b71Sopenharmony_ci } 393e41f4b71Sopenharmony_ci ``` 394e41f4b71Sopenharmony_ci 395e41f4b71Sopenharmony_ci### getTrustedDeviceList<sup>8+</sup> 396e41f4b71Sopenharmony_ci 397e41f4b71Sopenharmony_cigetTrustedDeviceList(callback:AsyncCallback<Array<DeviceInfo>>): void 398e41f4b71Sopenharmony_ci 399e41f4b71Sopenharmony_ci获取所有可信设备列表。使用callback异步回调。 400e41f4b71Sopenharmony_ci 401e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[getAvailableDeviceList](js-apis-distributedDeviceManager.md#getavailabledevicelist)替代。 402e41f4b71Sopenharmony_ci 403e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 404e41f4b71Sopenharmony_ci 405e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 406e41f4b71Sopenharmony_ci 407e41f4b71Sopenharmony_ci**参数:** 408e41f4b71Sopenharmony_ci 409e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 410e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------------------- | 411e41f4b71Sopenharmony_ci | callback | AsyncCallback<Array<[DeviceInfo](#deviceinfo)>> | 是 | 获取所有可信设备列表的回调,返回设备信息。 | 412e41f4b71Sopenharmony_ci 413e41f4b71Sopenharmony_ci**错误码:** 414e41f4b71Sopenharmony_ci 415e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 416e41f4b71Sopenharmony_ci 417e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 418e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 419e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 420e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. | 421e41f4b71Sopenharmony_ci 422e41f4b71Sopenharmony_ci**示例:** 423e41f4b71Sopenharmony_ci 424e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 425e41f4b71Sopenharmony_ci ```ts 426e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 427e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 428e41f4b71Sopenharmony_ci 429e41f4b71Sopenharmony_ci try { 430e41f4b71Sopenharmony_ci dmInstance.getTrustedDeviceList((err: BusinessError, data: Array<deviceManager.DeviceInfo>) => { 431e41f4b71Sopenharmony_ci if (err) { 432e41f4b71Sopenharmony_ci console.error("getTrustedDeviceList errCode:" + err.code + ",errMessage:" + err.message); 433e41f4b71Sopenharmony_ci return; 434e41f4b71Sopenharmony_ci } 435e41f4b71Sopenharmony_ci console.log('get trusted device info: ' + JSON.stringify(data)); 436e41f4b71Sopenharmony_ci }); 437e41f4b71Sopenharmony_ci } catch (err) { 438e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 439e41f4b71Sopenharmony_ci console.error("getTrustedDeviceList errCode:" + e.code + ",errMessage:" + e.message); 440e41f4b71Sopenharmony_ci } 441e41f4b71Sopenharmony_ci ``` 442e41f4b71Sopenharmony_ci 443e41f4b71Sopenharmony_ci### getTrustedDeviceList<sup>8+</sup> 444e41f4b71Sopenharmony_ci 445e41f4b71Sopenharmony_cigetTrustedDeviceList(): Promise<Array<DeviceInfo>> 446e41f4b71Sopenharmony_ci 447e41f4b71Sopenharmony_ci获取所有可信设备列表。使用Promise异步回调。 448e41f4b71Sopenharmony_ci 449e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[getAvailableDeviceList](js-apis-distributedDeviceManager.md#getavailabledevicelist-1)替代。 450e41f4b71Sopenharmony_ci 451e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 452e41f4b71Sopenharmony_ci 453e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 454e41f4b71Sopenharmony_ci 455e41f4b71Sopenharmony_ci**返回值:** 456e41f4b71Sopenharmony_ci 457e41f4b71Sopenharmony_ci | 类型 | 说明 | 458e41f4b71Sopenharmony_ci | ---------------------------------------- | --------------------- | 459e41f4b71Sopenharmony_ci | Promise<Array<[DeviceInfo](#deviceinfo)>> | Promise实例,用于获取异步返回结果。 | 460e41f4b71Sopenharmony_ci 461e41f4b71Sopenharmony_ci**错误码:** 462e41f4b71Sopenharmony_ci 463e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 464e41f4b71Sopenharmony_ci 465e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 466e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 467e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 468e41f4b71Sopenharmony_ci 469e41f4b71Sopenharmony_ci**示例:** 470e41f4b71Sopenharmony_ci 471e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 472e41f4b71Sopenharmony_ci ```ts 473e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 474e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 475e41f4b71Sopenharmony_ci 476e41f4b71Sopenharmony_ci dmInstance.getTrustedDeviceList().then((data: Array<deviceManager.DeviceInfo>) => { 477e41f4b71Sopenharmony_ci console.log('get trusted device info: ' + JSON.stringify(data)); 478e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 479e41f4b71Sopenharmony_ci console.error("getTrustedDeviceList errCode:" + err.code + ",errMessage:" + err.message); 480e41f4b71Sopenharmony_ci }); 481e41f4b71Sopenharmony_ci ``` 482e41f4b71Sopenharmony_ci 483e41f4b71Sopenharmony_ci### getLocalDeviceInfoSync<sup>8+</sup> 484e41f4b71Sopenharmony_ci 485e41f4b71Sopenharmony_cigetLocalDeviceInfoSync(): [DeviceInfo](#deviceinfo) 486e41f4b71Sopenharmony_ci 487e41f4b71Sopenharmony_ci同步获取本地设备信息。 488e41f4b71Sopenharmony_ci 489e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[getLocalDeviceNetworkId](js-apis-distributedDeviceManager.md#getlocaldevicenetworkid),[getLocalDeviceName](js-apis-distributedDeviceManager.md#getlocaldevicename),[getLocalDeviceType](js-apis-distributedDeviceManager.md#getlocaldevicetype),[getLocalDeviceId](js-apis-distributedDeviceManager.md#getlocaldeviceid)替代。 490e41f4b71Sopenharmony_ci 491e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 492e41f4b71Sopenharmony_ci 493e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 494e41f4b71Sopenharmony_ci 495e41f4b71Sopenharmony_ci**返回值:** 496e41f4b71Sopenharmony_ci 497e41f4b71Sopenharmony_ci | 名称 | 说明 | 498e41f4b71Sopenharmony_ci | ------------------------- | ---------------- | 499e41f4b71Sopenharmony_ci | [DeviceInfo](#deviceinfo) | 返回本地设备列表。 | 500e41f4b71Sopenharmony_ci 501e41f4b71Sopenharmony_ci**错误码:** 502e41f4b71Sopenharmony_ci 503e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 504e41f4b71Sopenharmony_ci 505e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 506e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 507e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 508e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 509e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 510e41f4b71Sopenharmony_ci 511e41f4b71Sopenharmony_ci**示例:** 512e41f4b71Sopenharmony_ci 513e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 514e41f4b71Sopenharmony_ci ```ts 515e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 516e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 517e41f4b71Sopenharmony_ci 518e41f4b71Sopenharmony_ci try { 519e41f4b71Sopenharmony_ci let deviceInfo: deviceManager.DeviceInfo = dmInstance.getLocalDeviceInfoSync(); 520e41f4b71Sopenharmony_ci } catch (err) { 521e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 522e41f4b71Sopenharmony_ci console.error("getLocalDeviceInfoSync errCode:" + e.code + ",errMessage:" + e.message); 523e41f4b71Sopenharmony_ci } 524e41f4b71Sopenharmony_ci ``` 525e41f4b71Sopenharmony_ci 526e41f4b71Sopenharmony_ci### getLocalDeviceInfo<sup>8+</sup> 527e41f4b71Sopenharmony_ci 528e41f4b71Sopenharmony_cigetLocalDeviceInfo(callback:AsyncCallback<DeviceInfo>): void 529e41f4b71Sopenharmony_ci 530e41f4b71Sopenharmony_ci获取本地设备信息。使用callback异步回调。 531e41f4b71Sopenharmony_ci 532e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[getLocalDeviceNetworkId](js-apis-distributedDeviceManager.md#getlocaldevicenetworkid),[getLocalDeviceName](js-apis-distributedDeviceManager.md#getlocaldevicename),[getLocalDeviceType](js-apis-distributedDeviceManager.md#getlocaldevicetype),[getLocalDeviceId](js-apis-distributedDeviceManager.md#getlocaldeviceid)替代。 533e41f4b71Sopenharmony_ci 534e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 535e41f4b71Sopenharmony_ci 536e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 537e41f4b71Sopenharmony_ci 538e41f4b71Sopenharmony_ci**参数:** 539e41f4b71Sopenharmony_ci 540e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 541e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------- | 542e41f4b71Sopenharmony_ci | callback | AsyncCallback<[DeviceInfo](#deviceinfo)> | 是 | 获取本地设备信息。 | 543e41f4b71Sopenharmony_ci 544e41f4b71Sopenharmony_ci**错误码:** 545e41f4b71Sopenharmony_ci 546e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 547e41f4b71Sopenharmony_ci 548e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 549e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 550e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 551e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. | 552e41f4b71Sopenharmony_ci 553e41f4b71Sopenharmony_ci**示例:** 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 556e41f4b71Sopenharmony_ci ```ts 557e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 558e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 559e41f4b71Sopenharmony_ci 560e41f4b71Sopenharmony_ci 561e41f4b71Sopenharmony_ci try { 562e41f4b71Sopenharmony_ci dmInstance.getLocalDeviceInfo((err: BusinessError, data: deviceManager.DeviceInfo) => { 563e41f4b71Sopenharmony_ci if (err) { 564e41f4b71Sopenharmony_ci console.error("getLocalDeviceInfo errCode:" + err.code + ",errMessage:" + err.message); 565e41f4b71Sopenharmony_ci return; 566e41f4b71Sopenharmony_ci } 567e41f4b71Sopenharmony_ci console.log('get local device info: ' + JSON.stringify(data)); 568e41f4b71Sopenharmony_ci }); 569e41f4b71Sopenharmony_ci } catch (err) { 570e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 571e41f4b71Sopenharmony_ci console.error("getLocalDeviceInfo errCode:" + e.code + ",errMessage:" + e.message); 572e41f4b71Sopenharmony_ci } 573e41f4b71Sopenharmony_ci ``` 574e41f4b71Sopenharmony_ci 575e41f4b71Sopenharmony_ci### getLocalDeviceInfo<sup>8+</sup> 576e41f4b71Sopenharmony_ci 577e41f4b71Sopenharmony_cigetLocalDeviceInfo(): Promise<DeviceInfo> 578e41f4b71Sopenharmony_ci 579e41f4b71Sopenharmony_ci获取本地设备信息。使用Promise异步回调。 580e41f4b71Sopenharmony_ci 581e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[getLocalDeviceNetworkId](js-apis-distributedDeviceManager.md#getlocaldevicenetworkid),[getLocalDeviceName](js-apis-distributedDeviceManager.md#getlocaldevicename),[getLocalDeviceType](js-apis-distributedDeviceManager.md#getlocaldevicetype),[getLocalDeviceId](js-apis-distributedDeviceManager.md#getlocaldeviceid)替代。 582e41f4b71Sopenharmony_ci 583e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 584e41f4b71Sopenharmony_ci 585e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 586e41f4b71Sopenharmony_ci 587e41f4b71Sopenharmony_ci**返回值:** 588e41f4b71Sopenharmony_ci 589e41f4b71Sopenharmony_ci | 类型 | 说明 | 590e41f4b71Sopenharmony_ci | ---------------------------------------- | --------------------- | 591e41f4b71Sopenharmony_ci | Promise<[DeviceInfo](#deviceinfo)> | Promise实例,用于获取异步返回结果。 | 592e41f4b71Sopenharmony_ci 593e41f4b71Sopenharmony_ci**错误码:** 594e41f4b71Sopenharmony_ci 595e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 596e41f4b71Sopenharmony_ci 597e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 598e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 599e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 600e41f4b71Sopenharmony_ci 601e41f4b71Sopenharmony_ci**示例:** 602e41f4b71Sopenharmony_ci 603e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 604e41f4b71Sopenharmony_ci ```ts 605e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 606e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 607e41f4b71Sopenharmony_ci 608e41f4b71Sopenharmony_ci dmInstance.getLocalDeviceInfo().then((data: deviceManager.DeviceInfo) => { 609e41f4b71Sopenharmony_ci console.log('get local device info: ' + JSON.stringify(data)); 610e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 611e41f4b71Sopenharmony_ci console.error("getLocalDeviceInfo errCode:" + err.code + ",errMessage:" + err.message); 612e41f4b71Sopenharmony_ci }); 613e41f4b71Sopenharmony_ci ``` 614e41f4b71Sopenharmony_ci 615e41f4b71Sopenharmony_ci### getDeviceInfo<sup>10+</sup> 616e41f4b71Sopenharmony_ci 617e41f4b71Sopenharmony_cigetDeviceInfo(networkId: string, callback:AsyncCallback<DeviceInfo>): void 618e41f4b71Sopenharmony_ci 619e41f4b71Sopenharmony_ci通过指定设备的网络标识获取该设备的信息。使用callback异步回调。 620e41f4b71Sopenharmony_ci 621e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[getDeviceName](js-apis-distributedDeviceManager.md#getdevicename),[getDeviceType](js-apis-distributedDeviceManager.md#getdevicetype)替代。 622e41f4b71Sopenharmony_ci 623e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 624e41f4b71Sopenharmony_ci 625e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 626e41f4b71Sopenharmony_ci 627e41f4b71Sopenharmony_ci**参数:** 628e41f4b71Sopenharmony_ci 629e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 630e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------- | 631e41f4b71Sopenharmony_ci | networkId| string | 是 | 设备的网络标识。 | 632e41f4b71Sopenharmony_ci | callback | AsyncCallback<[DeviceInfo](#deviceinfo)> | 是 | 获取指定设备信息。 | 633e41f4b71Sopenharmony_ci 634e41f4b71Sopenharmony_ci**错误码:** 635e41f4b71Sopenharmony_ci 636e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 637e41f4b71Sopenharmony_ci 638e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 639e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 640e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 641e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified networkId is greater than 255. | 642e41f4b71Sopenharmony_ci 643e41f4b71Sopenharmony_ci**示例:** 644e41f4b71Sopenharmony_ci 645e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 646e41f4b71Sopenharmony_ci ```ts 647e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 648e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 649e41f4b71Sopenharmony_ci 650e41f4b71Sopenharmony_ci try { 651e41f4b71Sopenharmony_ci // 设备网络标识,可以从可信设备列表中获取 652e41f4b71Sopenharmony_ci let networkId = "xxxxxxx"; 653e41f4b71Sopenharmony_ci dmInstance.getDeviceInfo(networkId, (err: BusinessError, data: deviceManager.DeviceInfo) => { 654e41f4b71Sopenharmony_ci if (err) { 655e41f4b71Sopenharmony_ci console.error("getDeviceInfo errCode:" + err.code + ",errMessage:" + err.message); 656e41f4b71Sopenharmony_ci return; 657e41f4b71Sopenharmony_ci } 658e41f4b71Sopenharmony_ci console.log('get device info: ' + JSON.stringify(data)); 659e41f4b71Sopenharmony_ci }); 660e41f4b71Sopenharmony_ci } catch (err) { 661e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 662e41f4b71Sopenharmony_ci console.error("getDeviceInfo errCode:" + e.code + ",errMessage:" + e.message); 663e41f4b71Sopenharmony_ci } 664e41f4b71Sopenharmony_ci ``` 665e41f4b71Sopenharmony_ci 666e41f4b71Sopenharmony_ci### getDeviceInfo<sup>10+</sup> 667e41f4b71Sopenharmony_ci 668e41f4b71Sopenharmony_cigetDeviceInfo(networkId: string): Promise<DeviceInfo> 669e41f4b71Sopenharmony_ci 670e41f4b71Sopenharmony_ci通过指定设备的网络标识获取该设备的信息。使用Promise异步回调。 671e41f4b71Sopenharmony_ci 672e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[getDeviceName](js-apis-distributedDeviceManager.md#getdevicename),[getDeviceType](js-apis-distributedDeviceManager.md#getdevicetype)替代。 673e41f4b71Sopenharmony_ci 674e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 675e41f4b71Sopenharmony_ci 676e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 677e41f4b71Sopenharmony_ci 678e41f4b71Sopenharmony_ci**参数:** 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 681e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------- | 682e41f4b71Sopenharmony_ci | networkId| string | 是 | 设备的网络标识。 | 683e41f4b71Sopenharmony_ci 684e41f4b71Sopenharmony_ci**返回值:** 685e41f4b71Sopenharmony_ci 686e41f4b71Sopenharmony_ci | 类型 | 说明 | 687e41f4b71Sopenharmony_ci | ---------------------------------------- | --------------------- | 688e41f4b71Sopenharmony_ci | Promise<[DeviceInfo](#deviceinfo)> | Promise实例,用于获取异步返回结果。 | 689e41f4b71Sopenharmony_ci 690e41f4b71Sopenharmony_ci**错误码:** 691e41f4b71Sopenharmony_ci 692e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 693e41f4b71Sopenharmony_ci 694e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 695e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 696e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 697e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified networkId is greater than 255. | 698e41f4b71Sopenharmony_ci 699e41f4b71Sopenharmony_ci**示例:** 700e41f4b71Sopenharmony_ci 701e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 702e41f4b71Sopenharmony_ci ```ts 703e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 704e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ci // 设备网络标识,可以从可信设备列表中获取 707e41f4b71Sopenharmony_ci let networkId = "xxxxxxx"; 708e41f4b71Sopenharmony_ci dmInstance.getDeviceInfo(networkId).then((data: deviceManager.DeviceInfo) => { 709e41f4b71Sopenharmony_ci console.log('get device info: ' + JSON.stringify(data)); 710e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 711e41f4b71Sopenharmony_ci console.error("getDeviceInfo errCode:" + err.code + ",errMessage:" + err.message); 712e41f4b71Sopenharmony_ci }); 713e41f4b71Sopenharmony_ci ``` 714e41f4b71Sopenharmony_ci 715e41f4b71Sopenharmony_ci### startDeviceDiscovery<sup>8+</sup> 716e41f4b71Sopenharmony_ci 717e41f4b71Sopenharmony_cistartDeviceDiscovery(subscribeInfo: SubscribeInfo): void 718e41f4b71Sopenharmony_ci 719e41f4b71Sopenharmony_ci发现周边设备。发现状态持续两分钟,超过两分钟,会停止发现,最大发现数量99个。 720e41f4b71Sopenharmony_ci 721e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[startDiscovering](js-apis-distributedDeviceManager.md#startdiscovering)替代。 722e41f4b71Sopenharmony_ci 723e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 724e41f4b71Sopenharmony_ci 725e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 726e41f4b71Sopenharmony_ci 727e41f4b71Sopenharmony_ci**参数:** 728e41f4b71Sopenharmony_ci 729e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 730e41f4b71Sopenharmony_ci | ------------- | ------------------------------- | ---- | ----- | 731e41f4b71Sopenharmony_ci | subscribeInfo | [SubscribeInfo](#subscribeinfo) | 是 | 发现信息。| 732e41f4b71Sopenharmony_ci 733e41f4b71Sopenharmony_ci**错误码:** 734e41f4b71Sopenharmony_ci 735e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 736e41f4b71Sopenharmony_ci 737e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 738e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 739e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 740e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 741e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified networkId is greater than 255. | 742e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 743e41f4b71Sopenharmony_ci| 11600104 | Discovery unavailable. | 744e41f4b71Sopenharmony_ci 745e41f4b71Sopenharmony_ci**示例:** 746e41f4b71Sopenharmony_ci 747e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 748e41f4b71Sopenharmony_ci ```ts 749e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 750e41f4b71Sopenharmony_ci 751e41f4b71Sopenharmony_ci interface SubscribeInfo { 752e41f4b71Sopenharmony_ci subscribeId: number; 753e41f4b71Sopenharmony_ci mode: number; // 主动模式 754e41f4b71Sopenharmony_ci medium: number; // 自动发现类型,同时支持多种发现类型 755e41f4b71Sopenharmony_ci freq: number; // 高频率 756e41f4b71Sopenharmony_ci isSameAccount: boolean; 757e41f4b71Sopenharmony_ci isWakeRemote: boolean; 758e41f4b71Sopenharmony_ci capability: number; 759e41f4b71Sopenharmony_ci } 760e41f4b71Sopenharmony_ci 761e41f4b71Sopenharmony_ci // 生成发现标识,随机数确保每次调用发现接口的标识不一致 762e41f4b71Sopenharmony_ci let subscribeId = Math.floor(Math.random() * 10000 + 1000); 763e41f4b71Sopenharmony_ci let subscribeInfo: SubscribeInfo = { 764e41f4b71Sopenharmony_ci subscribeId: subscribeId, 765e41f4b71Sopenharmony_ci mode: 0xAA, // 主动模式 766e41f4b71Sopenharmony_ci medium: 0, // 自动发现类型,同时支持多种发现类型 767e41f4b71Sopenharmony_ci freq: 2, // 高频率 768e41f4b71Sopenharmony_ci isSameAccount: false, 769e41f4b71Sopenharmony_ci isWakeRemote: false, 770e41f4b71Sopenharmony_ci capability: 1 771e41f4b71Sopenharmony_ci }; 772e41f4b71Sopenharmony_ci try { 773e41f4b71Sopenharmony_ci dmInstance.startDeviceDiscovery(subscribeInfo); // 当有设备发现时,通过deviceFound回调通知给应用程序 774e41f4b71Sopenharmony_ci } catch (err) { 775e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 776e41f4b71Sopenharmony_ci console.error("startDeviceDiscovery errCode:" + e.code + ",errMessage:" + e.message); 777e41f4b71Sopenharmony_ci } 778e41f4b71Sopenharmony_ci ``` 779e41f4b71Sopenharmony_ci 780e41f4b71Sopenharmony_ci### startDeviceDiscovery<sup>9+</sup> 781e41f4b71Sopenharmony_ci 782e41f4b71Sopenharmony_cistartDeviceDiscovery(subscribeInfo: SubscribeInfo, filterOptions?: string): void 783e41f4b71Sopenharmony_ci 784e41f4b71Sopenharmony_ci发现周边设备。发现状态持续两分钟,超过两分钟,会停止发现,最大发现数量99个。 785e41f4b71Sopenharmony_ci 786e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[startDiscovering](js-apis-distributedDeviceManager.md#startdiscovering)替代。 787e41f4b71Sopenharmony_ci 788e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 789e41f4b71Sopenharmony_ci 790e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 791e41f4b71Sopenharmony_ci 792e41f4b71Sopenharmony_ci**参数:** 793e41f4b71Sopenharmony_ci 794e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 795e41f4b71Sopenharmony_ci | ------------- | ------------------------------- | ---- | ----- | 796e41f4b71Sopenharmony_ci | subscribeInfo | [SubscribeInfo](#subscribeinfo) | 是 | 发现信息。 | 797e41f4b71Sopenharmony_ci | filterOptions | string | 否 | 发现设备过滤信息。可选,默认为undefined,发现未上线设备。| 798e41f4b71Sopenharmony_ci 799e41f4b71Sopenharmony_ci**错误码:** 800e41f4b71Sopenharmony_ci 801e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 802e41f4b71Sopenharmony_ci 803e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 804e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 805e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 806e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 807e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified networkId is greater than 255. | 808e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 809e41f4b71Sopenharmony_ci| 11600104 | Discovery unavailable. | 810e41f4b71Sopenharmony_ci 811e41f4b71Sopenharmony_ci**示例:** 812e41f4b71Sopenharmony_ci 813e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 814e41f4b71Sopenharmony_ci ```ts 815e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 816e41f4b71Sopenharmony_ci 817e41f4b71Sopenharmony_ci interface Filters { 818e41f4b71Sopenharmony_ci type: string; 819e41f4b71Sopenharmony_ci value: number; 820e41f4b71Sopenharmony_ci } 821e41f4b71Sopenharmony_ci 822e41f4b71Sopenharmony_ci interface FilterOptions { 823e41f4b71Sopenharmony_ci filter_op: string; // 可选, 默认"OR" 824e41f4b71Sopenharmony_ci filters: Filters[]; 825e41f4b71Sopenharmony_ci } 826e41f4b71Sopenharmony_ci 827e41f4b71Sopenharmony_ci interface SubscribeInfo { 828e41f4b71Sopenharmony_ci subscribeId: number; 829e41f4b71Sopenharmony_ci mode: number; // 主动模式 830e41f4b71Sopenharmony_ci medium: number; // 自动发现类型,同时支持多种发现类型 831e41f4b71Sopenharmony_ci freq: number; // 高频率 832e41f4b71Sopenharmony_ci isSameAccount: boolean; 833e41f4b71Sopenharmony_ci isWakeRemote: boolean; 834e41f4b71Sopenharmony_ci capability: number; 835e41f4b71Sopenharmony_ci } 836e41f4b71Sopenharmony_ci 837e41f4b71Sopenharmony_ci // 生成发现标识,随机数确保每次调用发现接口的标识不一致 838e41f4b71Sopenharmony_ci let subscribeId = Math.floor(Math.random() * 10000 + 1000); 839e41f4b71Sopenharmony_ci let subscribeInfo: SubscribeInfo = { 840e41f4b71Sopenharmony_ci subscribeId: subscribeId, 841e41f4b71Sopenharmony_ci mode: 0xAA, // 主动模式 842e41f4b71Sopenharmony_ci medium: 0, // 自动发现类型,同时支持多种发现类型 843e41f4b71Sopenharmony_ci freq: 2, // 高频率 844e41f4b71Sopenharmony_ci isSameAccount: false, 845e41f4b71Sopenharmony_ci isWakeRemote: false, 846e41f4b71Sopenharmony_ci capability: 1 847e41f4b71Sopenharmony_ci }; 848e41f4b71Sopenharmony_ci 849e41f4b71Sopenharmony_ci let filters: Filters[] = [ 850e41f4b71Sopenharmony_ci { 851e41f4b71Sopenharmony_ci type: "range", 852e41f4b71Sopenharmony_ci value: 50 // 需过滤发现设备的距离,单位(cm) 853e41f4b71Sopenharmony_ci } 854e41f4b71Sopenharmony_ci ]; 855e41f4b71Sopenharmony_ci 856e41f4b71Sopenharmony_ci let filterOptions: FilterOptions = { 857e41f4b71Sopenharmony_ci filter_op: "OR", // 可选, 默认"OR" 858e41f4b71Sopenharmony_ci filters: filters 859e41f4b71Sopenharmony_ci }; 860e41f4b71Sopenharmony_ci try { 861e41f4b71Sopenharmony_ci dmInstance.startDeviceDiscovery(subscribeInfo, JSON.stringify(filterOptions)); // 当有设备发现时,通过deviceFound回调通知给应用程序 862e41f4b71Sopenharmony_ci } catch (err) { 863e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 864e41f4b71Sopenharmony_ci console.error("startDeviceDiscovery errCode:" + e.code + ",errMessage:" + e.message); 865e41f4b71Sopenharmony_ci } 866e41f4b71Sopenharmony_ci ``` 867e41f4b71Sopenharmony_ci 868e41f4b71Sopenharmony_ci### stopDeviceDiscovery 869e41f4b71Sopenharmony_ci 870e41f4b71Sopenharmony_cistopDeviceDiscovery(subscribeId: number): void 871e41f4b71Sopenharmony_ci 872e41f4b71Sopenharmony_ci停止发现周边设备。 873e41f4b71Sopenharmony_ci 874e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[stopDiscovering](js-apis-distributedDeviceManager.md#stopdiscovering)替代。 875e41f4b71Sopenharmony_ci 876e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 877e41f4b71Sopenharmony_ci 878e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 879e41f4b71Sopenharmony_ci 880e41f4b71Sopenharmony_ci**参数:** 881e41f4b71Sopenharmony_ci 882e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 883e41f4b71Sopenharmony_ci | ----------- | ------ | ---- | ----- | 884e41f4b71Sopenharmony_ci | subscribeId | number | 是 | 发现标识。 | 885e41f4b71Sopenharmony_ci 886e41f4b71Sopenharmony_ci**错误码:** 887e41f4b71Sopenharmony_ci 888e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 889e41f4b71Sopenharmony_ci 890e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 891e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 892e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 893e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 894e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified networkId is greater than 255. | 895e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 896e41f4b71Sopenharmony_ci 897e41f4b71Sopenharmony_ci**示例:** 898e41f4b71Sopenharmony_ci 899e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 900e41f4b71Sopenharmony_ci ```ts 901e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 902e41f4b71Sopenharmony_ci 903e41f4b71Sopenharmony_ci try { 904e41f4b71Sopenharmony_ci // stopDeviceDiscovery和startDeviceDiscovery需配对使用,入参需要和startDeviceDiscovery接口传入的subscribeId值相等 905e41f4b71Sopenharmony_ci let subscribeId = 12345; 906e41f4b71Sopenharmony_ci dmInstance.stopDeviceDiscovery(subscribeId); 907e41f4b71Sopenharmony_ci } catch (err) { 908e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 909e41f4b71Sopenharmony_ci console.error("stopDeviceDiscovery errCode:" + e.code + ",errMessage:" + e.message); 910e41f4b71Sopenharmony_ci } 911e41f4b71Sopenharmony_ci ``` 912e41f4b71Sopenharmony_ci 913e41f4b71Sopenharmony_ci### publishDeviceDiscovery<sup>9+</sup> 914e41f4b71Sopenharmony_ci 915e41f4b71Sopenharmony_cipublishDeviceDiscovery(publishInfo: PublishInfo): void 916e41f4b71Sopenharmony_ci 917e41f4b71Sopenharmony_ci发布设备发现。发布状态持续两分钟,超过两分钟会停止发布。 918e41f4b71Sopenharmony_ci 919e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 920e41f4b71Sopenharmony_ci 921e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 922e41f4b71Sopenharmony_ci 923e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 924e41f4b71Sopenharmony_ci 925e41f4b71Sopenharmony_ci**参数:** 926e41f4b71Sopenharmony_ci 927e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 928e41f4b71Sopenharmony_ci | ------------- | ------------------------------- | ---- | ----- | 929e41f4b71Sopenharmony_ci | publishInfo | [PublishInfo](#publishinfo9) | 是 | 发布设备发现信息。 | 930e41f4b71Sopenharmony_ci 931e41f4b71Sopenharmony_ci**错误码:** 932e41f4b71Sopenharmony_ci 933e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 934e41f4b71Sopenharmony_ci 935e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 936e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 937e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 938e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 939e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. | 940e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 941e41f4b71Sopenharmony_ci| 11600105 | Publish unavailable. | 942e41f4b71Sopenharmony_ci 943e41f4b71Sopenharmony_ci**示例:** 944e41f4b71Sopenharmony_ci 945e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 946e41f4b71Sopenharmony_ci ```ts 947e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 948e41f4b71Sopenharmony_ci 949e41f4b71Sopenharmony_ci interface PublishInfo { 950e41f4b71Sopenharmony_ci publishId: number; 951e41f4b71Sopenharmony_ci mode: number; // 主动模式 952e41f4b71Sopenharmony_ci freq: number; // 高频率 953e41f4b71Sopenharmony_ci ranging: boolean; // 支持发现时测距 954e41f4b71Sopenharmony_ci }; 955e41f4b71Sopenharmony_ci 956e41f4b71Sopenharmony_ci // 生成发布标识,随机数确保每次调用发布接口的标识不一致 957e41f4b71Sopenharmony_ci let publishId = Math.floor(Math.random() * 10000 + 1000); 958e41f4b71Sopenharmony_ci let publishInfo: PublishInfo = { 959e41f4b71Sopenharmony_ci publishId: publishId, 960e41f4b71Sopenharmony_ci mode: 0xAA, // 主动模式 961e41f4b71Sopenharmony_ci freq: 2, // 高频率 962e41f4b71Sopenharmony_ci ranging: true // 支持发现时测距 963e41f4b71Sopenharmony_ci }; 964e41f4b71Sopenharmony_ci 965e41f4b71Sopenharmony_ci try { 966e41f4b71Sopenharmony_ci dmInstance.publishDeviceDiscovery(publishInfo); // 当有发布结果时,通过回调通知给应用程序 967e41f4b71Sopenharmony_ci } catch (err) { 968e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 969e41f4b71Sopenharmony_ci console.error("publishDeviceDiscovery errCode:" + e.code + ",errMessage:" + e.message); 970e41f4b71Sopenharmony_ci } 971e41f4b71Sopenharmony_ci ``` 972e41f4b71Sopenharmony_ci 973e41f4b71Sopenharmony_ci### unPublishDeviceDiscovery<sup>9+</sup> 974e41f4b71Sopenharmony_ci 975e41f4b71Sopenharmony_ciunPublishDeviceDiscovery(publishId: number): void 976e41f4b71Sopenharmony_ci 977e41f4b71Sopenharmony_ci停止发布设备发现。 978e41f4b71Sopenharmony_ci 979e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 980e41f4b71Sopenharmony_ci 981e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 982e41f4b71Sopenharmony_ci 983e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 984e41f4b71Sopenharmony_ci 985e41f4b71Sopenharmony_ci**参数:** 986e41f4b71Sopenharmony_ci 987e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 988e41f4b71Sopenharmony_ci | ----------- | -------- | ---- | ----- | 989e41f4b71Sopenharmony_ci | publishId | number | 是 | 发布标识。 | 990e41f4b71Sopenharmony_ci 991e41f4b71Sopenharmony_ci**错误码:** 992e41f4b71Sopenharmony_ci 993e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 994e41f4b71Sopenharmony_ci 995e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 996e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 997e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 998e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 999e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. | 1000e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 1001e41f4b71Sopenharmony_ci 1002e41f4b71Sopenharmony_ci**示例:** 1003e41f4b71Sopenharmony_ci 1004e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1005e41f4b71Sopenharmony_ci ```ts 1006e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1007e41f4b71Sopenharmony_ci 1008e41f4b71Sopenharmony_ci try { 1009e41f4b71Sopenharmony_ci // unPublishDeviceDiscovery和publishDeviceDiscovery配对使用,入参需要和publishDeviceDiscovery接口传入的publishId值相等 1010e41f4b71Sopenharmony_ci let publishId = 12345; 1011e41f4b71Sopenharmony_ci dmInstance.unPublishDeviceDiscovery(publishId); 1012e41f4b71Sopenharmony_ci } catch (err) { 1013e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1014e41f4b71Sopenharmony_ci console.error("unPublishDeviceDiscovery errCode:" + e.code + ",errMessage:" + e.message); 1015e41f4b71Sopenharmony_ci } 1016e41f4b71Sopenharmony_ci ``` 1017e41f4b71Sopenharmony_ci 1018e41f4b71Sopenharmony_ci### authenticateDevice 1019e41f4b71Sopenharmony_ci 1020e41f4b71Sopenharmony_ciauthenticateDevice(deviceInfo: DeviceInfo, authParam: AuthParam, callback: AsyncCallback<{deviceId: string, pinToken ?: number}>): void 1021e41f4b71Sopenharmony_ci 1022e41f4b71Sopenharmony_ci认证设备。 1023e41f4b71Sopenharmony_ci 1024e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[bindTarget](js-apis-distributedDeviceManager.md#bindtarget)替代。 1025e41f4b71Sopenharmony_ci 1026e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1027e41f4b71Sopenharmony_ci 1028e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1029e41f4b71Sopenharmony_ci 1030e41f4b71Sopenharmony_ci**参数:** 1031e41f4b71Sopenharmony_ci 1032e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1033e41f4b71Sopenharmony_ci | ---------- | ---------------------------------------- | ---- | ------- | 1034e41f4b71Sopenharmony_ci | deviceInfo | [DeviceInfo](#deviceinfo) | 是 | 设备信息。 | 1035e41f4b71Sopenharmony_ci | authParam | [AuthParam](#authparam) | 是 | 认证参数。 | 1036e41f4b71Sopenharmony_ci | callback | AsyncCallback<{deviceId: string, pinToken ?: number}> | 是 | 认证结果回调。 | 1037e41f4b71Sopenharmony_ci 1038e41f4b71Sopenharmony_ci**错误码:** 1039e41f4b71Sopenharmony_ci 1040e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1041e41f4b71Sopenharmony_ci 1042e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1043e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1044e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1045e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. | 1046e41f4b71Sopenharmony_ci 1047e41f4b71Sopenharmony_ci**示例:** 1048e41f4b71Sopenharmony_ci 1049e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1050e41f4b71Sopenharmony_ci ```ts 1051e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1052e41f4b71Sopenharmony_ci 1053e41f4b71Sopenharmony_ci class Data { 1054e41f4b71Sopenharmony_ci deviceId: string = ""; 1055e41f4b71Sopenharmony_ci pinToken?: number = 0; 1056e41f4b71Sopenharmony_ci } 1057e41f4b71Sopenharmony_ci 1058e41f4b71Sopenharmony_ci interface DeviceInfo { 1059e41f4b71Sopenharmony_ci deviceId: string; 1060e41f4b71Sopenharmony_ci deviceName: string; 1061e41f4b71Sopenharmony_ci deviceType: number; 1062e41f4b71Sopenharmony_ci networkId: string; 1063e41f4b71Sopenharmony_ci range: number; 1064e41f4b71Sopenharmony_ci }; 1065e41f4b71Sopenharmony_ci 1066e41f4b71Sopenharmony_ci interface ExtraInfo { 1067e41f4b71Sopenharmony_ci targetPkgName: string; 1068e41f4b71Sopenharmony_ci appName: string; 1069e41f4b71Sopenharmony_ci appDescription: string; 1070e41f4b71Sopenharmony_ci business: string; 1071e41f4b71Sopenharmony_ci } 1072e41f4b71Sopenharmony_ci 1073e41f4b71Sopenharmony_ci interface AuthParam { 1074e41f4b71Sopenharmony_ci authType: number; // 认证类型: 1 - 无帐号PIN码认证 1075e41f4b71Sopenharmony_ci extraInfo: ExtraInfo; 1076e41f4b71Sopenharmony_ci } 1077e41f4b71Sopenharmony_ci 1078e41f4b71Sopenharmony_ci // 认证的设备信息,可以从发现的结果中获取 1079e41f4b71Sopenharmony_ci let deviceInfo: deviceManager.DeviceInfo = { 1080e41f4b71Sopenharmony_ci deviceId: "XXXXXXXX", 1081e41f4b71Sopenharmony_ci deviceName: "", 1082e41f4b71Sopenharmony_ci deviceType: 0x0E, 1083e41f4b71Sopenharmony_ci networkId: "xxxxxxx", 1084e41f4b71Sopenharmony_ci range: 0, 1085e41f4b71Sopenharmony_ci authForm: 0 1086e41f4b71Sopenharmony_ci }; 1087e41f4b71Sopenharmony_ci let extraInfo: ExtraInfo = { 1088e41f4b71Sopenharmony_ci targetPkgName: 'ohos.samples.xxx', 1089e41f4b71Sopenharmony_ci appName: 'xxx', 1090e41f4b71Sopenharmony_ci appDescription: 'xxx', 1091e41f4b71Sopenharmony_ci business: '0' 1092e41f4b71Sopenharmony_ci }; 1093e41f4b71Sopenharmony_ci let authParam: AuthParam = { 1094e41f4b71Sopenharmony_ci authType: 1,// 认证类型: 1 - 无帐号PIN码认证 1095e41f4b71Sopenharmony_ci extraInfo: extraInfo 1096e41f4b71Sopenharmony_ci }; 1097e41f4b71Sopenharmony_ci 1098e41f4b71Sopenharmony_ci try { 1099e41f4b71Sopenharmony_ci dmInstance.authenticateDevice(deviceInfo, authParam, (err: BusinessError, data: Data) => { 1100e41f4b71Sopenharmony_ci if (err) { 1101e41f4b71Sopenharmony_ci console.error("authenticateDevice errCode:" + err.code + ",errMessage:" + err.message); 1102e41f4b71Sopenharmony_ci return; 1103e41f4b71Sopenharmony_ci } 1104e41f4b71Sopenharmony_ci console.info("authenticateDevice result:" + JSON.stringify(data)); 1105e41f4b71Sopenharmony_ci let token = data.pinToken; 1106e41f4b71Sopenharmony_ci }); 1107e41f4b71Sopenharmony_ci } catch (err) { 1108e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1109e41f4b71Sopenharmony_ci console.error("authenticateDevice errCode:" + e.code + ",errMessage:" + e.message); 1110e41f4b71Sopenharmony_ci } 1111e41f4b71Sopenharmony_ci ``` 1112e41f4b71Sopenharmony_ci 1113e41f4b71Sopenharmony_ci### unAuthenticateDevice<sup>8+</sup> 1114e41f4b71Sopenharmony_ci 1115e41f4b71Sopenharmony_ciunAuthenticateDevice(deviceInfo: DeviceInfo): void 1116e41f4b71Sopenharmony_ci 1117e41f4b71Sopenharmony_ci解除认证设备。 1118e41f4b71Sopenharmony_ci 1119e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[unbindTarget](js-apis-distributedDeviceManager.md#unbindtarget)替代。 1120e41f4b71Sopenharmony_ci 1121e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1122e41f4b71Sopenharmony_ci 1123e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1124e41f4b71Sopenharmony_ci 1125e41f4b71Sopenharmony_ci**参数:** 1126e41f4b71Sopenharmony_ci 1127e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1128e41f4b71Sopenharmony_ci | ---------- | ------------------------- | ---- | ----- | 1129e41f4b71Sopenharmony_ci | deviceInfo | [DeviceInfo](#deviceinfo) | 是 | 设备信息。 | 1130e41f4b71Sopenharmony_ci 1131e41f4b71Sopenharmony_ci**错误码:** 1132e41f4b71Sopenharmony_ci 1133e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[设备管理错误码](errorcode-device-manager.md) 1134e41f4b71Sopenharmony_ci 1135e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1136e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1137e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 1138e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1139e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. | 1140e41f4b71Sopenharmony_ci| 11600101 | Failed to execute the function. | 1141e41f4b71Sopenharmony_ci 1142e41f4b71Sopenharmony_ci**示例:** 1143e41f4b71Sopenharmony_ci 1144e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1145e41f4b71Sopenharmony_ci ```ts 1146e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1147e41f4b71Sopenharmony_ci 1148e41f4b71Sopenharmony_ci interface DeviceInfo { 1149e41f4b71Sopenharmony_ci deviceId: string; 1150e41f4b71Sopenharmony_ci deviceName: string; 1151e41f4b71Sopenharmony_ci deviceType: number; 1152e41f4b71Sopenharmony_ci networkId: string; 1153e41f4b71Sopenharmony_ci range: number; 1154e41f4b71Sopenharmony_ci } 1155e41f4b71Sopenharmony_ci 1156e41f4b71Sopenharmony_ci try { 1157e41f4b71Sopenharmony_ci let deviceInfo: deviceManager.DeviceInfo = { 1158e41f4b71Sopenharmony_ci deviceId: "XXXXXXXX", 1159e41f4b71Sopenharmony_ci deviceName: "", 1160e41f4b71Sopenharmony_ci deviceType: 0x0E, 1161e41f4b71Sopenharmony_ci networkId: "xxxxxxx", 1162e41f4b71Sopenharmony_ci range: 0, 1163e41f4b71Sopenharmony_ci authForm: 0 1164e41f4b71Sopenharmony_ci }; 1165e41f4b71Sopenharmony_ci dmInstance.unAuthenticateDevice(deviceInfo); 1166e41f4b71Sopenharmony_ci } catch (err) { 1167e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1168e41f4b71Sopenharmony_ci console.error("unAuthenticateDevice errCode:" + e.code + ",errMessage:" + e.message); 1169e41f4b71Sopenharmony_ci } 1170e41f4b71Sopenharmony_ci ``` 1171e41f4b71Sopenharmony_ci 1172e41f4b71Sopenharmony_ci### verifyAuthInfo 1173e41f4b71Sopenharmony_ci 1174e41f4b71Sopenharmony_civerifyAuthInfo(authInfo: AuthInfo, callback: AsyncCallback<{deviceId: string, level: number}>): void 1175e41f4b71Sopenharmony_ci 1176e41f4b71Sopenharmony_ci验证认证信息。 1177e41f4b71Sopenharmony_ci 1178e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 1179e41f4b71Sopenharmony_ci 1180e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1181e41f4b71Sopenharmony_ci 1182e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1183e41f4b71Sopenharmony_ci 1184e41f4b71Sopenharmony_ci**参数:** 1185e41f4b71Sopenharmony_ci 1186e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1187e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | ------- | 1188e41f4b71Sopenharmony_ci | authInfo | [AuthInfo](#authinfo) | 是 | 认证信息。 | 1189e41f4b71Sopenharmony_ci | callback | AsyncCallback<{deviceId: string, level: number}> | 是 | 验证结果回调。 | 1190e41f4b71Sopenharmony_ci 1191e41f4b71Sopenharmony_ci**错误码:** 1192e41f4b71Sopenharmony_ci 1193e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1194e41f4b71Sopenharmony_ci 1195e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1196e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1197e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1198e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. | 1199e41f4b71Sopenharmony_ci 1200e41f4b71Sopenharmony_ci**示例:** 1201e41f4b71Sopenharmony_ci 1202e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1203e41f4b71Sopenharmony_ci ```ts 1204e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1205e41f4b71Sopenharmony_ci 1206e41f4b71Sopenharmony_ci interface ExtraInfo { 1207e41f4b71Sopenharmony_ci authType: number; 1208e41f4b71Sopenharmony_ci token: number; 1209e41f4b71Sopenharmony_ci } 1210e41f4b71Sopenharmony_ci 1211e41f4b71Sopenharmony_ci interface AuthInfo { 1212e41f4b71Sopenharmony_ci authType: number; 1213e41f4b71Sopenharmony_ci token: number; 1214e41f4b71Sopenharmony_ci extraInfo: ExtraInfo; 1215e41f4b71Sopenharmony_ci } 1216e41f4b71Sopenharmony_ci 1217e41f4b71Sopenharmony_ci class Data { 1218e41f4b71Sopenharmony_ci deviceId: string = ""; 1219e41f4b71Sopenharmony_ci level: number = 0; 1220e41f4b71Sopenharmony_ci } 1221e41f4b71Sopenharmony_ci 1222e41f4b71Sopenharmony_ci let extraInfo: ExtraInfo = { 1223e41f4b71Sopenharmony_ci authType: 0, 1224e41f4b71Sopenharmony_ci token: 0 1225e41f4b71Sopenharmony_ci }; 1226e41f4b71Sopenharmony_ci 1227e41f4b71Sopenharmony_ci let authInfo: AuthInfo = { 1228e41f4b71Sopenharmony_ci authType: 1, 1229e41f4b71Sopenharmony_ci token: 123456, 1230e41f4b71Sopenharmony_ci extraInfo: extraInfo 1231e41f4b71Sopenharmony_ci }; 1232e41f4b71Sopenharmony_ci try { 1233e41f4b71Sopenharmony_ci dmInstance.verifyAuthInfo(authInfo, (err: BusinessError, data: Data) => { 1234e41f4b71Sopenharmony_ci if (err) { 1235e41f4b71Sopenharmony_ci console.error("verifyAuthInfo errCode:" + err.code + ",errMessage:" + err.message); 1236e41f4b71Sopenharmony_ci return; 1237e41f4b71Sopenharmony_ci } 1238e41f4b71Sopenharmony_ci console.info("verifyAuthInfo result:" + JSON.stringify(data)); 1239e41f4b71Sopenharmony_ci }); 1240e41f4b71Sopenharmony_ci } catch (err) { 1241e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1242e41f4b71Sopenharmony_ci console.error("verifyAuthInfo errCode:" + e.code + ",errMessage:" + e.message); 1243e41f4b71Sopenharmony_ci } 1244e41f4b71Sopenharmony_ci ``` 1245e41f4b71Sopenharmony_ci 1246e41f4b71Sopenharmony_ci### setUserOperation<sup>9+</sup> 1247e41f4b71Sopenharmony_ci 1248e41f4b71Sopenharmony_cisetUserOperation(operateAction: number, params: string): void; 1249e41f4b71Sopenharmony_ci 1250e41f4b71Sopenharmony_ci设置用户ui操作行为。 1251e41f4b71Sopenharmony_ci 1252e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[replyUiAction](js-apis-distributedDeviceManager-sys.md#replyuiaction)替代。 1253e41f4b71Sopenharmony_ci 1254e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1255e41f4b71Sopenharmony_ci 1256e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1257e41f4b71Sopenharmony_ci 1258e41f4b71Sopenharmony_ci**参数:** 1259e41f4b71Sopenharmony_ci 1260e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1261e41f4b71Sopenharmony_ci | ------------- | --------------- | ---- | ------------------- | 1262e41f4b71Sopenharmony_ci | operateAction | number | 是 | 用户操作动作。 | 1263e41f4b71Sopenharmony_ci | params | string | 是 | 表示用户的输入参数。 | 1264e41f4b71Sopenharmony_ci 1265e41f4b71Sopenharmony_ci**错误码:** 1266e41f4b71Sopenharmony_ci 1267e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1268e41f4b71Sopenharmony_ci 1269e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1270e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1271e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. | 1272e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1273e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified params is greater than 255. | 1274e41f4b71Sopenharmony_ci 1275e41f4b71Sopenharmony_ci**示例:** 1276e41f4b71Sopenharmony_ci 1277e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1278e41f4b71Sopenharmony_ci ```ts 1279e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1280e41f4b71Sopenharmony_ci 1281e41f4b71Sopenharmony_ci try { 1282e41f4b71Sopenharmony_ci /* 1283e41f4b71Sopenharmony_ci operateAction = 0 - 允许授权 1284e41f4b71Sopenharmony_ci operateAction = 1 - 取消授权 1285e41f4b71Sopenharmony_ci operateAction = 2 - 授权框用户操作超时 1286e41f4b71Sopenharmony_ci operateAction = 3 - 取消pin码框展示 1287e41f4b71Sopenharmony_ci operateAction = 4 - 取消pin码输入框展示 1288e41f4b71Sopenharmony_ci operateAction = 5 - pin码输入框确定操作 1289e41f4b71Sopenharmony_ci */ 1290e41f4b71Sopenharmony_ci let operation = 0; 1291e41f4b71Sopenharmony_ci dmInstance.setUserOperation(operation, "extra"); 1292e41f4b71Sopenharmony_ci } catch (err) { 1293e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1294e41f4b71Sopenharmony_ci console.error("setUserOperation errCode:" + e.code + ",errMessage:" + e.message); 1295e41f4b71Sopenharmony_ci } 1296e41f4b71Sopenharmony_ci ``` 1297e41f4b71Sopenharmony_ci 1298e41f4b71Sopenharmony_ci### requestCredentialRegisterInfo<sup>10+</sup> 1299e41f4b71Sopenharmony_ci 1300e41f4b71Sopenharmony_cirequestCredentialRegisterInfo(requestInfo: string, callback: AsyncCallback<{registerInfo: string}>): void; 1301e41f4b71Sopenharmony_ci 1302e41f4b71Sopenharmony_ci获取凭据的注册信息。 1303e41f4b71Sopenharmony_ci 1304e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 1305e41f4b71Sopenharmony_ci 1306e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1307e41f4b71Sopenharmony_ci 1308e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1309e41f4b71Sopenharmony_ci 1310e41f4b71Sopenharmony_ci**参数:** 1311e41f4b71Sopenharmony_ci 1312e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1313e41f4b71Sopenharmony_ci | ------------- | --------------- | ---- | ------------------- | 1314e41f4b71Sopenharmony_ci | requestInfo | string | 是 | 请求凭据信息。 | 1315e41f4b71Sopenharmony_ci | callback | AsyncCallback<{registerInfo: string}> | 是 | 凭据的注册信息回调。 | 1316e41f4b71Sopenharmony_ci 1317e41f4b71Sopenharmony_ci**错误码:** 1318e41f4b71Sopenharmony_ci 1319e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1320e41f4b71Sopenharmony_ci 1321e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1322e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1323e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1324e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified params is greater than 255. | 1325e41f4b71Sopenharmony_ci 1326e41f4b71Sopenharmony_ci**示例:** 1327e41f4b71Sopenharmony_ci 1328e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1329e41f4b71Sopenharmony_ci ```ts 1330e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1331e41f4b71Sopenharmony_ci 1332e41f4b71Sopenharmony_ci interface CredentialInfo { 1333e41f4b71Sopenharmony_ci version: string; 1334e41f4b71Sopenharmony_ci userId: string; 1335e41f4b71Sopenharmony_ci } 1336e41f4b71Sopenharmony_ci 1337e41f4b71Sopenharmony_ci class Data { 1338e41f4b71Sopenharmony_ci registerInfo: string = ""; 1339e41f4b71Sopenharmony_ci } 1340e41f4b71Sopenharmony_ci 1341e41f4b71Sopenharmony_ci let credentialInfo: CredentialInfo = { 1342e41f4b71Sopenharmony_ci version: "1.2.3", 1343e41f4b71Sopenharmony_ci userId: "123" 1344e41f4b71Sopenharmony_ci }; 1345e41f4b71Sopenharmony_ci try { 1346e41f4b71Sopenharmony_ci let jsonCredentialInfo = JSON.stringify(credentialInfo); 1347e41f4b71Sopenharmony_ci dmInstance.requestCredentialRegisterInfo(jsonCredentialInfo, (err: BusinessError, data: Data) => { 1348e41f4b71Sopenharmony_ci if (data) { 1349e41f4b71Sopenharmony_ci console.info("requestCredentialRegisterInfo result:" + JSON.stringify(data)); 1350e41f4b71Sopenharmony_ci } else { 1351e41f4b71Sopenharmony_ci console.info("requestCredentialRegisterInfo result: data is null"); 1352e41f4b71Sopenharmony_ci } 1353e41f4b71Sopenharmony_ci }); 1354e41f4b71Sopenharmony_ci } catch (err) { 1355e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1356e41f4b71Sopenharmony_ci console.error("requestCredentialRegisterInfo err:" + e.code + "," + e.message); 1357e41f4b71Sopenharmony_ci } 1358e41f4b71Sopenharmony_ci ``` 1359e41f4b71Sopenharmony_ci 1360e41f4b71Sopenharmony_ci### importCredential<sup>10+</sup> 1361e41f4b71Sopenharmony_ci 1362e41f4b71Sopenharmony_ciimportCredential(credentialInfo: string, callback: AsyncCallback<{resultInfo: string}>): void; 1363e41f4b71Sopenharmony_ci 1364e41f4b71Sopenharmony_ci导入凭据信息。 1365e41f4b71Sopenharmony_ci 1366e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 1367e41f4b71Sopenharmony_ci 1368e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1369e41f4b71Sopenharmony_ci 1370e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1371e41f4b71Sopenharmony_ci 1372e41f4b71Sopenharmony_ci**参数:** 1373e41f4b71Sopenharmony_ci 1374e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1375e41f4b71Sopenharmony_ci | ------------- | --------------- | ---- | ------------------- | 1376e41f4b71Sopenharmony_ci | credentialInfo| string | 是 | 导入凭据信息。 | 1377e41f4b71Sopenharmony_ci | callback | AsyncCallback<{resultInfo: string}> | 是 | 导入凭据结果回调。 | 1378e41f4b71Sopenharmony_ci 1379e41f4b71Sopenharmony_ci**错误码:** 1380e41f4b71Sopenharmony_ci 1381e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1382e41f4b71Sopenharmony_ci 1383e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1384e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1385e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1386e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified credentialInfo is greater than 5999. | 1387e41f4b71Sopenharmony_ci 1388e41f4b71Sopenharmony_ci**示例:** 1389e41f4b71Sopenharmony_ci 1390e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1391e41f4b71Sopenharmony_ci<!--code_no_check--> 1392e41f4b71Sopenharmony_ci ```ts 1393e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1394e41f4b71Sopenharmony_ci 1395e41f4b71Sopenharmony_ci class Data { 1396e41f4b71Sopenharmony_ci resultInfo: string = ""; 1397e41f4b71Sopenharmony_ci } 1398e41f4b71Sopenharmony_ci 1399e41f4b71Sopenharmony_ci interface CredentialData { 1400e41f4b71Sopenharmony_ci credentialType: number; 1401e41f4b71Sopenharmony_ci credentialId: string; 1402e41f4b71Sopenharmony_ci serverPk: string; 1403e41f4b71Sopenharmony_ci pkInfoSignature : string; 1404e41f4b71Sopenharmony_ci pkInfo: string; 1405e41f4b71Sopenharmony_ci authCode: string; 1406e41f4b71Sopenharmony_ci peerDeviceId: string; 1407e41f4b71Sopenharmony_ci } 1408e41f4b71Sopenharmony_ci 1409e41f4b71Sopenharmony_ci interface CredentialInfo { 1410e41f4b71Sopenharmony_ci processType: number; 1411e41f4b71Sopenharmony_ci authType: number; 1412e41f4b71Sopenharmony_ci userId: string; 1413e41f4b71Sopenharmony_ci deviceId: string; 1414e41f4b71Sopenharmony_ci version: string; 1415e41f4b71Sopenharmony_ci devicePk : string; 1416e41f4b71Sopenharmony_ci credentialData : CredentialData; 1417e41f4b71Sopenharmony_ci } 1418e41f4b71Sopenharmony_ci 1419e41f4b71Sopenharmony_ci let credentialData: CredentialData = { 1420e41f4b71Sopenharmony_ci credentialType: 2, 1421e41f4b71Sopenharmony_ci credentialId: "102", 1422e41f4b71Sopenharmony_ci serverPk: "3059301306072A8648CE3D020106082A8648CE3D03", 1423e41f4b71Sopenharmony_ci pkInfoSignature : "30440220490BCB4F822004C9A76AB8D97F80041FC0E", 1424e41f4b71Sopenharmony_ci pkInfo: "", 1425e41f4b71Sopenharmony_ci authCode: "", 1426e41f4b71Sopenharmony_ci peerDeviceId: "" 1427e41f4b71Sopenharmony_ci }; 1428e41f4b71Sopenharmony_ci 1429e41f4b71Sopenharmony_ci 1430e41f4b71Sopenharmony_ci let credentialInfo: CredentialInfo = { 1431e41f4b71Sopenharmony_ci processType: 1, 1432e41f4b71Sopenharmony_ci authType: 1, 1433e41f4b71Sopenharmony_ci userId: "123", 1434e41f4b71Sopenharmony_ci deviceId: "aaa", 1435e41f4b71Sopenharmony_ci version: "1.2.3", 1436e41f4b71Sopenharmony_ci devicePk : "0000", 1437e41f4b71Sopenharmony_ci credentialData : credentialData 1438e41f4b71Sopenharmony_ci }; 1439e41f4b71Sopenharmony_ci 1440e41f4b71Sopenharmony_ci try { 1441e41f4b71Sopenharmony_ci let jsonCredentialInfo = JSON.stringify(credentialInfo); 1442e41f4b71Sopenharmony_ci dmInstance.importCredential(jsonCredentialInfo, (err: BusinessError, data: Data) => { 1443e41f4b71Sopenharmony_ci if (data) { 1444e41f4b71Sopenharmony_ci console.info("importCredential result:" + JSON.stringify(data)); 1445e41f4b71Sopenharmony_ci } else { 1446e41f4b71Sopenharmony_ci console.info("importCredential result: data is null"); 1447e41f4b71Sopenharmony_ci } 1448e41f4b71Sopenharmony_ci }); 1449e41f4b71Sopenharmony_ci } catch (err) { 1450e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1451e41f4b71Sopenharmony_ci console.error("importCredential err:" + e.code + "," + e.message); 1452e41f4b71Sopenharmony_ci } 1453e41f4b71Sopenharmony_ci ``` 1454e41f4b71Sopenharmony_ci 1455e41f4b71Sopenharmony_ci### deleteCredential<sup>10+</sup> 1456e41f4b71Sopenharmony_ci 1457e41f4b71Sopenharmony_cideleteCredential(queryInfo: string, callback: AsyncCallback<{resultInfo: string}>): void; 1458e41f4b71Sopenharmony_ci 1459e41f4b71Sopenharmony_ci删除凭据信息。 1460e41f4b71Sopenharmony_ci 1461e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 1462e41f4b71Sopenharmony_ci 1463e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1464e41f4b71Sopenharmony_ci 1465e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1466e41f4b71Sopenharmony_ci 1467e41f4b71Sopenharmony_ci**参数:** 1468e41f4b71Sopenharmony_ci 1469e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1470e41f4b71Sopenharmony_ci | ------------- | --------------- | ---- | ------------------- | 1471e41f4b71Sopenharmony_ci | queryInfo | string | 是 | 删除凭据信息。 | 1472e41f4b71Sopenharmony_ci | callback | AsyncCallback<{resultInfo: string}> | 是 | 删除凭据结果回调。 | 1473e41f4b71Sopenharmony_ci 1474e41f4b71Sopenharmony_ci**错误码:** 1475e41f4b71Sopenharmony_ci 1476e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1477e41f4b71Sopenharmony_ci 1478e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1479e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1480e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1481e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified credentialInfo is greater than 5999. | 1482e41f4b71Sopenharmony_ci 1483e41f4b71Sopenharmony_ci**示例:** 1484e41f4b71Sopenharmony_ci 1485e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1486e41f4b71Sopenharmony_ci ```ts 1487e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1488e41f4b71Sopenharmony_ci 1489e41f4b71Sopenharmony_ci class Data { 1490e41f4b71Sopenharmony_ci resultInfo: string = ""; 1491e41f4b71Sopenharmony_ci } 1492e41f4b71Sopenharmony_ci 1493e41f4b71Sopenharmony_ci interface QueryInfo { 1494e41f4b71Sopenharmony_ci processType: number; 1495e41f4b71Sopenharmony_ci authType: number; 1496e41f4b71Sopenharmony_ci userId: string; 1497e41f4b71Sopenharmony_ci } 1498e41f4b71Sopenharmony_ci 1499e41f4b71Sopenharmony_ci let queryInfo: QueryInfo = { 1500e41f4b71Sopenharmony_ci processType: 1, 1501e41f4b71Sopenharmony_ci authType: 1, 1502e41f4b71Sopenharmony_ci userId: "123" 1503e41f4b71Sopenharmony_ci }; 1504e41f4b71Sopenharmony_ci 1505e41f4b71Sopenharmony_ci try { 1506e41f4b71Sopenharmony_ci let jsonQueryInfo = JSON.stringify(queryInfo); 1507e41f4b71Sopenharmony_ci dmInstance.deleteCredential(jsonQueryInfo, (err: BusinessError, data: Data) => { 1508e41f4b71Sopenharmony_ci if (data) { 1509e41f4b71Sopenharmony_ci console.info("deleteCredential result:" + JSON.stringify(data)); 1510e41f4b71Sopenharmony_ci } else { 1511e41f4b71Sopenharmony_ci console.info("deleteCredential result: data is null"); 1512e41f4b71Sopenharmony_ci } 1513e41f4b71Sopenharmony_ci }); 1514e41f4b71Sopenharmony_ci } catch (err) { 1515e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1516e41f4b71Sopenharmony_ci console.error("deleteCredential err:" + e.code + "," + e.message); 1517e41f4b71Sopenharmony_ci } 1518e41f4b71Sopenharmony_ci ``` 1519e41f4b71Sopenharmony_ci 1520e41f4b71Sopenharmony_ci### on('uiStateChange')<sup>9+</sup> 1521e41f4b71Sopenharmony_ci 1522e41f4b71Sopenharmony_cion(type: 'uiStateChange', callback: Callback<{ param: string}>): void; 1523e41f4b71Sopenharmony_ci 1524e41f4b71Sopenharmony_ciui状态变更回调。 1525e41f4b71Sopenharmony_ci 1526e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[on('replyResult')](js-apis-distributedDeviceManager-sys.md#onreplyresult)替代。 1527e41f4b71Sopenharmony_ci 1528e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1529e41f4b71Sopenharmony_ci 1530e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1531e41f4b71Sopenharmony_ci 1532e41f4b71Sopenharmony_ci**参数:** 1533e41f4b71Sopenharmony_ci 1534e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1535e41f4b71Sopenharmony_ci | -------- | ------------------------------------ | ---- | ------------------------------ | 1536e41f4b71Sopenharmony_ci | type | string | 是 | 注册的设备管理器 ui 状态回调,以便在状态改变时通知应用,固定为uiStateChange。 | 1537e41f4b71Sopenharmony_ci | callback | Callback<{ param: string}> | 是 | 指示要注册的设备管理器 ui 状态回调,返回ui状态。 | 1538e41f4b71Sopenharmony_ci 1539e41f4b71Sopenharmony_ci**错误码:** 1540e41f4b71Sopenharmony_ci 1541e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1542e41f4b71Sopenharmony_ci 1543e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1544e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1545e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1546e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 1547e41f4b71Sopenharmony_ci 1548e41f4b71Sopenharmony_ci**示例:** 1549e41f4b71Sopenharmony_ci 1550e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1551e41f4b71Sopenharmony_ci ```ts 1552e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1553e41f4b71Sopenharmony_ci 1554e41f4b71Sopenharmony_ci class Data { 1555e41f4b71Sopenharmony_ci param: string = ""; 1556e41f4b71Sopenharmony_ci } 1557e41f4b71Sopenharmony_ci 1558e41f4b71Sopenharmony_ci interface TmpStr { 1559e41f4b71Sopenharmony_ci verifyFailed: boolean; 1560e41f4b71Sopenharmony_ci } 1561e41f4b71Sopenharmony_ci 1562e41f4b71Sopenharmony_ci try { 1563e41f4b71Sopenharmony_ci dmInstance.on('uiStateChange', (data: Data) => { 1564e41f4b71Sopenharmony_ci console.log("uiStateChange executed, dialog closed" + JSON.stringify(data)); 1565e41f4b71Sopenharmony_ci let tmpStr: TmpStr = JSON.parse(data.param); 1566e41f4b71Sopenharmony_ci let isShow = tmpStr.verifyFailed; 1567e41f4b71Sopenharmony_ci console.log("uiStateChange executed, dialog closed" + isShow); 1568e41f4b71Sopenharmony_ci }); 1569e41f4b71Sopenharmony_ci } catch (err) { 1570e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1571e41f4b71Sopenharmony_ci console.error("uiStateChange errCode:" + e.code + ",errMessage:" + e.message); 1572e41f4b71Sopenharmony_ci } 1573e41f4b71Sopenharmony_ci ``` 1574e41f4b71Sopenharmony_ci 1575e41f4b71Sopenharmony_ci### off('uiStateChange')<sup>9+</sup> 1576e41f4b71Sopenharmony_ci 1577e41f4b71Sopenharmony_cioff(type: 'uiStateChange', callback?: Callback<{ param: string}>): void; 1578e41f4b71Sopenharmony_ci 1579e41f4b71Sopenharmony_ci取消ui状态变更回调。 1580e41f4b71Sopenharmony_ci 1581e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[off('replyResult')](js-apis-distributedDeviceManager-sys.md#offreplyresult)替代。 1582e41f4b71Sopenharmony_ci 1583e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1584e41f4b71Sopenharmony_ci 1585e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1586e41f4b71Sopenharmony_ci 1587e41f4b71Sopenharmony_ci**参数:** 1588e41f4b71Sopenharmony_ci 1589e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1590e41f4b71Sopenharmony_ci | -------- | ------------------------------------- | ---- | ------------------------------ | 1591e41f4b71Sopenharmony_ci | type | string | 是 | 取消注册的设备管理器 ui 状态回调,固定为uiStateChange。 | 1592e41f4b71Sopenharmony_ci | callback | Callback<{ param: string}> | 否 | 指示要取消注册的设备管理器 ui 状态,返回UI状态。 | 1593e41f4b71Sopenharmony_ci 1594e41f4b71Sopenharmony_ci**错误码:** 1595e41f4b71Sopenharmony_ci 1596e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1597e41f4b71Sopenharmony_ci 1598e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1599e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1600e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1601e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 1602e41f4b71Sopenharmony_ci 1603e41f4b71Sopenharmony_ci**示例:** 1604e41f4b71Sopenharmony_ci 1605e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1606e41f4b71Sopenharmony_ci ```ts 1607e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1608e41f4b71Sopenharmony_ci 1609e41f4b71Sopenharmony_ci try { 1610e41f4b71Sopenharmony_ci dmInstance.off('uiStateChange'); 1611e41f4b71Sopenharmony_ci } catch (err) { 1612e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1613e41f4b71Sopenharmony_ci console.error("uiStateChange errCode:" + e.code + ",errMessage:" + e.message); 1614e41f4b71Sopenharmony_ci } 1615e41f4b71Sopenharmony_ci ``` 1616e41f4b71Sopenharmony_ci 1617e41f4b71Sopenharmony_ci### on('deviceStateChange') 1618e41f4b71Sopenharmony_ci 1619e41f4b71Sopenharmony_cion(type: 'deviceStateChange', callback: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void 1620e41f4b71Sopenharmony_ci 1621e41f4b71Sopenharmony_ci注册设备状态回调。 1622e41f4b71Sopenharmony_ci 1623e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[on('deviceStateChange')](js-apis-distributedDeviceManager.md#ondevicestatechange)替代。 1624e41f4b71Sopenharmony_ci 1625e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1626e41f4b71Sopenharmony_ci 1627e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1628e41f4b71Sopenharmony_ci 1629e41f4b71Sopenharmony_ci**参数:** 1630e41f4b71Sopenharmony_ci 1631e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1632e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | ------------------------------ | 1633e41f4b71Sopenharmony_ci | type | string | 是 | 注册设备状态回调,固定为deviceStateChange。 | 1634e41f4b71Sopenharmony_ci | callback | Callback<{ action: [DeviceStateChangeAction](#devicestatechangeaction), device: [DeviceInfo](#deviceinfo) }> | 是 | 指示要注册的设备状态回调,返回设备状态和设备信息。 | 1635e41f4b71Sopenharmony_ci 1636e41f4b71Sopenharmony_ci**错误码:** 1637e41f4b71Sopenharmony_ci 1638e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1639e41f4b71Sopenharmony_ci 1640e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1641e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1642e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1643e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 1644e41f4b71Sopenharmony_ci 1645e41f4b71Sopenharmony_ci**示例:** 1646e41f4b71Sopenharmony_ci 1647e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1648e41f4b71Sopenharmony_ci ```ts 1649e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 1650e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1651e41f4b71Sopenharmony_ci 1652e41f4b71Sopenharmony_ci class Data { 1653e41f4b71Sopenharmony_ci action: deviceManager.DeviceStateChangeAction = 0; 1654e41f4b71Sopenharmony_ci device: deviceManager.DeviceInfo = { 1655e41f4b71Sopenharmony_ci deviceId: "", 1656e41f4b71Sopenharmony_ci deviceName: "", 1657e41f4b71Sopenharmony_ci deviceType: 0, 1658e41f4b71Sopenharmony_ci networkId: "", 1659e41f4b71Sopenharmony_ci range: 0, 1660e41f4b71Sopenharmony_ci authForm:0 1661e41f4b71Sopenharmony_ci }; 1662e41f4b71Sopenharmony_ci } 1663e41f4b71Sopenharmony_ci 1664e41f4b71Sopenharmony_ci try { 1665e41f4b71Sopenharmony_ci dmInstance.on('deviceStateChange', (data: Data) => { 1666e41f4b71Sopenharmony_ci console.info("deviceStateChange on:" + JSON.stringify(data)); 1667e41f4b71Sopenharmony_ci }); 1668e41f4b71Sopenharmony_ci } catch (err) { 1669e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1670e41f4b71Sopenharmony_ci console.error("deviceStateChange errCode:" + e.code + ",errMessage:" + e.message); 1671e41f4b71Sopenharmony_ci } 1672e41f4b71Sopenharmony_ci ``` 1673e41f4b71Sopenharmony_ci 1674e41f4b71Sopenharmony_ci### off('deviceStateChange') 1675e41f4b71Sopenharmony_ci 1676e41f4b71Sopenharmony_cioff(type: 'deviceStateChange', callback?: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void 1677e41f4b71Sopenharmony_ci 1678e41f4b71Sopenharmony_ci取消注册设备状态回调。 1679e41f4b71Sopenharmony_ci 1680e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[off('deviceStateChange')](js-apis-distributedDeviceManager.md#offdevicestatechange)替代。 1681e41f4b71Sopenharmony_ci 1682e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1683e41f4b71Sopenharmony_ci 1684e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1685e41f4b71Sopenharmony_ci 1686e41f4b71Sopenharmony_ci**参数:** 1687e41f4b71Sopenharmony_ci 1688e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1689e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------------------------- | 1690e41f4b71Sopenharmony_ci | type | string | 是 | 根据应用程序的包名取消注册设备状态回调,固定为deviceStateChange。 | 1691e41f4b71Sopenharmony_ci | callback | Callback<{ action: [DeviceStateChangeAction](#devicestatechangeaction), device: [DeviceInfo](#deviceinfo) }> | 否 | 指示要取消注册的设备状态回调,返回设备状态和设备信息。 | 1692e41f4b71Sopenharmony_ci 1693e41f4b71Sopenharmony_ci**错误码:** 1694e41f4b71Sopenharmony_ci 1695e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1696e41f4b71Sopenharmony_ci 1697e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1698e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1699e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1700e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 1701e41f4b71Sopenharmony_ci 1702e41f4b71Sopenharmony_ci**示例:** 1703e41f4b71Sopenharmony_ci 1704e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1705e41f4b71Sopenharmony_ci ```ts 1706e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 1707e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1708e41f4b71Sopenharmony_ci 1709e41f4b71Sopenharmony_ci class Data { 1710e41f4b71Sopenharmony_ci action: deviceManager.DeviceStateChangeAction = 0; 1711e41f4b71Sopenharmony_ci device: deviceManager.DeviceInfo = { 1712e41f4b71Sopenharmony_ci deviceId: "", 1713e41f4b71Sopenharmony_ci deviceName: "", 1714e41f4b71Sopenharmony_ci deviceType: 0, 1715e41f4b71Sopenharmony_ci networkId: "", 1716e41f4b71Sopenharmony_ci range: 0, 1717e41f4b71Sopenharmony_ci authForm:0 1718e41f4b71Sopenharmony_ci }; 1719e41f4b71Sopenharmony_ci } 1720e41f4b71Sopenharmony_ci 1721e41f4b71Sopenharmony_ci try { 1722e41f4b71Sopenharmony_ci dmInstance.off('deviceStateChange', (data: Data) => { 1723e41f4b71Sopenharmony_ci console.info('deviceStateChange' + JSON.stringify(data)); 1724e41f4b71Sopenharmony_ci }); 1725e41f4b71Sopenharmony_ci } catch (err) { 1726e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1727e41f4b71Sopenharmony_ci console.error("deviceStateChange errCode:" + e.code + ",errMessage:" + e.message); 1728e41f4b71Sopenharmony_ci } 1729e41f4b71Sopenharmony_ci ``` 1730e41f4b71Sopenharmony_ci 1731e41f4b71Sopenharmony_ci### on('deviceFound') 1732e41f4b71Sopenharmony_ci 1733e41f4b71Sopenharmony_cion(type: 'deviceFound', callback: Callback<{ subscribeId: number, device: DeviceInfo }>): void 1734e41f4b71Sopenharmony_ci 1735e41f4b71Sopenharmony_ci注册发现设备回调监听。 1736e41f4b71Sopenharmony_ci 1737e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[on('discoverSuccess')](js-apis-distributedDeviceManager.md#ondiscoversuccess)替代。 1738e41f4b71Sopenharmony_ci 1739e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1740e41f4b71Sopenharmony_ci 1741e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1742e41f4b71Sopenharmony_ci 1743e41f4b71Sopenharmony_ci**参数:** 1744e41f4b71Sopenharmony_ci 1745e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1746e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | -------------------------- | 1747e41f4b71Sopenharmony_ci | type | string | 是 | 注册设备发现回调,以便在发现周边设备时通知应用程序,固定为deviceFound。 | 1748e41f4b71Sopenharmony_ci | callback | Callback<{ subscribeId: number, device: [DeviceInfo](#deviceinfo) }> | 是 | 注册设备发现的回调方法。 | 1749e41f4b71Sopenharmony_ci 1750e41f4b71Sopenharmony_ci**错误码:** 1751e41f4b71Sopenharmony_ci 1752e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1753e41f4b71Sopenharmony_ci 1754e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1755e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1756e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1757e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 1758e41f4b71Sopenharmony_ci 1759e41f4b71Sopenharmony_ci**示例:** 1760e41f4b71Sopenharmony_ci 1761e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1762e41f4b71Sopenharmony_ci ```ts 1763e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 1764e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1765e41f4b71Sopenharmony_ci 1766e41f4b71Sopenharmony_ci class Data { 1767e41f4b71Sopenharmony_ci subscribeId: number = 0; 1768e41f4b71Sopenharmony_ci device: deviceManager.DeviceInfo = { 1769e41f4b71Sopenharmony_ci deviceId: "", 1770e41f4b71Sopenharmony_ci deviceName: "", 1771e41f4b71Sopenharmony_ci deviceType: 0, 1772e41f4b71Sopenharmony_ci networkId: "", 1773e41f4b71Sopenharmony_ci range: 0, 1774e41f4b71Sopenharmony_ci authForm:0 1775e41f4b71Sopenharmony_ci }; 1776e41f4b71Sopenharmony_ci } 1777e41f4b71Sopenharmony_ci 1778e41f4b71Sopenharmony_ci try { 1779e41f4b71Sopenharmony_ci dmInstance.on('deviceFound', (data: Data) => { 1780e41f4b71Sopenharmony_ci console.info("deviceFound:" + JSON.stringify(data)); 1781e41f4b71Sopenharmony_ci }); 1782e41f4b71Sopenharmony_ci } catch (err) { 1783e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1784e41f4b71Sopenharmony_ci console.error("deviceFound errCode:" + e.code + ",errMessage:" + e.message); 1785e41f4b71Sopenharmony_ci } 1786e41f4b71Sopenharmony_ci ``` 1787e41f4b71Sopenharmony_ci 1788e41f4b71Sopenharmony_ci### off('deviceFound') 1789e41f4b71Sopenharmony_ci 1790e41f4b71Sopenharmony_cioff(type: 'deviceFound', callback?: Callback<{ subscribeId: number, device: DeviceInfo }>): void 1791e41f4b71Sopenharmony_ci 1792e41f4b71Sopenharmony_ci取消注册设备发现回调。 1793e41f4b71Sopenharmony_ci 1794e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[off('discoverSuccess')](js-apis-distributedDeviceManager.md#offdiscoversuccess)替代。 1795e41f4b71Sopenharmony_ci 1796e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1797e41f4b71Sopenharmony_ci 1798e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1799e41f4b71Sopenharmony_ci 1800e41f4b71Sopenharmony_ci**参数:** 1801e41f4b71Sopenharmony_ci 1802e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1803e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------------------------- | 1804e41f4b71Sopenharmony_ci | type | string | 是 | 取消注册设备发现回调,固定为deviceFound。 | 1805e41f4b71Sopenharmony_ci | callback | Callback<{ subscribeId: number, device: [DeviceInfo](#deviceinfo) }> | 否 | 指示要取消注册的设备发现回调,返回设备状态和设备信息。 | 1806e41f4b71Sopenharmony_ci 1807e41f4b71Sopenharmony_ci**错误码:** 1808e41f4b71Sopenharmony_ci 1809e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1810e41f4b71Sopenharmony_ci 1811e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1812e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1813e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1814e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 1815e41f4b71Sopenharmony_ci 1816e41f4b71Sopenharmony_ci**示例:** 1817e41f4b71Sopenharmony_ci 1818e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1819e41f4b71Sopenharmony_ci ```ts 1820e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 1821e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1822e41f4b71Sopenharmony_ci 1823e41f4b71Sopenharmony_ci class Data { 1824e41f4b71Sopenharmony_ci subscribeId: number = 0; 1825e41f4b71Sopenharmony_ci device: deviceManager.DeviceInfo = { 1826e41f4b71Sopenharmony_ci deviceId: "", 1827e41f4b71Sopenharmony_ci deviceName: "", 1828e41f4b71Sopenharmony_ci deviceType: 0, 1829e41f4b71Sopenharmony_ci networkId: "", 1830e41f4b71Sopenharmony_ci range: 0, 1831e41f4b71Sopenharmony_ci authForm:0 1832e41f4b71Sopenharmony_ci }; 1833e41f4b71Sopenharmony_ci } 1834e41f4b71Sopenharmony_ci 1835e41f4b71Sopenharmony_ci try { 1836e41f4b71Sopenharmony_ci dmInstance.off('deviceFound', (data: Data) => { 1837e41f4b71Sopenharmony_ci console.info('deviceFound' + JSON.stringify(data)); 1838e41f4b71Sopenharmony_ci }); 1839e41f4b71Sopenharmony_ci } catch (err) { 1840e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1841e41f4b71Sopenharmony_ci console.error("deviceFound errCode:" + e.code + ",errMessage:" + e.message); 1842e41f4b71Sopenharmony_ci } 1843e41f4b71Sopenharmony_ci ``` 1844e41f4b71Sopenharmony_ci 1845e41f4b71Sopenharmony_ci### on('discoverFail') 1846e41f4b71Sopenharmony_ci 1847e41f4b71Sopenharmony_cion(type: 'discoverFail', callback: Callback<{ subscribeId: number, reason: number }>): void 1848e41f4b71Sopenharmony_ci 1849e41f4b71Sopenharmony_ci注册设备发现失败回调监听。 1850e41f4b71Sopenharmony_ci 1851e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[on('discoverFailure')](js-apis-distributedDeviceManager.md#ondiscoverfailure)替代。 1852e41f4b71Sopenharmony_ci 1853e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1854e41f4b71Sopenharmony_ci 1855e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1856e41f4b71Sopenharmony_ci 1857e41f4b71Sopenharmony_ci**参数:** 1858e41f4b71Sopenharmony_ci 1859e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1860e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | ------------------------------ | 1861e41f4b71Sopenharmony_ci | type | string | 是 | 注册设备发现失败回调,以便在发现周边设备失败时通知应用程序,固定为discoverFail。 | 1862e41f4b71Sopenharmony_ci | callback | Callback<{ subscribeId: number, reason: number }> | 是 | 注册设备发现失败的回调方法。 | 1863e41f4b71Sopenharmony_ci 1864e41f4b71Sopenharmony_ci**错误码:** 1865e41f4b71Sopenharmony_ci 1866e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1867e41f4b71Sopenharmony_ci 1868e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1869e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1870e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1871e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 1872e41f4b71Sopenharmony_ci 1873e41f4b71Sopenharmony_ci**示例:** 1874e41f4b71Sopenharmony_ci 1875e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1876e41f4b71Sopenharmony_ci ```ts 1877e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1878e41f4b71Sopenharmony_ci 1879e41f4b71Sopenharmony_ci class Data { 1880e41f4b71Sopenharmony_ci subscribeId: number = 0; 1881e41f4b71Sopenharmony_ci reason: number = 0; 1882e41f4b71Sopenharmony_ci } 1883e41f4b71Sopenharmony_ci 1884e41f4b71Sopenharmony_ci try { 1885e41f4b71Sopenharmony_ci dmInstance.on('discoverFail', (data: Data) => { 1886e41f4b71Sopenharmony_ci console.info("discoverFail on:" + JSON.stringify(data)); 1887e41f4b71Sopenharmony_ci }); 1888e41f4b71Sopenharmony_ci } catch (err) { 1889e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1890e41f4b71Sopenharmony_ci console.error("discoverFail errCode:" + e.code + ",errMessage:" + e.message); 1891e41f4b71Sopenharmony_ci } 1892e41f4b71Sopenharmony_ci ``` 1893e41f4b71Sopenharmony_ci 1894e41f4b71Sopenharmony_ci### off('discoverFail') 1895e41f4b71Sopenharmony_ci 1896e41f4b71Sopenharmony_cioff(type: 'discoverFail', callback?: Callback<{ subscribeId: number, reason: number }>): void 1897e41f4b71Sopenharmony_ci 1898e41f4b71Sopenharmony_ci取消注册设备发现失败回调。 1899e41f4b71Sopenharmony_ci 1900e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[off('discoverFailure')](js-apis-distributedDeviceManager.md#offdiscoverfailure)替代。 1901e41f4b71Sopenharmony_ci 1902e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1903e41f4b71Sopenharmony_ci 1904e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1905e41f4b71Sopenharmony_ci 1906e41f4b71Sopenharmony_ci**参数:** 1907e41f4b71Sopenharmony_ci 1908e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1909e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | ----------------- | 1910e41f4b71Sopenharmony_ci | type | string | 是 | 取消注册设备发现失败回调,固定为discoverFail。 | 1911e41f4b71Sopenharmony_ci | callback | Callback<{ subscribeId: number, reason: number }> | 否 | 指示要取消注册的设备发现失败回调。 | 1912e41f4b71Sopenharmony_ci 1913e41f4b71Sopenharmony_ci**错误码:** 1914e41f4b71Sopenharmony_ci 1915e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1916e41f4b71Sopenharmony_ci 1917e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1918e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1919e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1920e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 1921e41f4b71Sopenharmony_ci 1922e41f4b71Sopenharmony_ci**示例:** 1923e41f4b71Sopenharmony_ci 1924e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1925e41f4b71Sopenharmony_ci ```ts 1926e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1927e41f4b71Sopenharmony_ci 1928e41f4b71Sopenharmony_ci class Data { 1929e41f4b71Sopenharmony_ci subscribeId: number = 0; 1930e41f4b71Sopenharmony_ci reason: number = 0; 1931e41f4b71Sopenharmony_ci } 1932e41f4b71Sopenharmony_ci 1933e41f4b71Sopenharmony_ci try { 1934e41f4b71Sopenharmony_ci dmInstance.off('discoverFail', (data: Data) => { 1935e41f4b71Sopenharmony_ci console.info('discoverFail' + JSON.stringify(data)); 1936e41f4b71Sopenharmony_ci }); 1937e41f4b71Sopenharmony_ci } catch (err) { 1938e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1939e41f4b71Sopenharmony_ci console.error("discoverFail errCode:" + e.code + ",errMessage:" + e.message); 1940e41f4b71Sopenharmony_ci } 1941e41f4b71Sopenharmony_ci ``` 1942e41f4b71Sopenharmony_ci 1943e41f4b71Sopenharmony_ci### on('publishSuccess')<sup>9+</sup> 1944e41f4b71Sopenharmony_ci 1945e41f4b71Sopenharmony_cion(type: 'publishSuccess', callback: Callback<{ publishId: number }>): void 1946e41f4b71Sopenharmony_ci 1947e41f4b71Sopenharmony_ci注册发布设备发现回调监听。 1948e41f4b71Sopenharmony_ci 1949e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 1950e41f4b71Sopenharmony_ci 1951e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 1952e41f4b71Sopenharmony_ci 1953e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 1954e41f4b71Sopenharmony_ci 1955e41f4b71Sopenharmony_ci**参数:** 1956e41f4b71Sopenharmony_ci 1957e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 1958e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | -------------------------- | 1959e41f4b71Sopenharmony_ci | type | string | 是 | 注册发布设备成功回调,以便将发布成功时通知应用程序,固定为publishSuccess。 | 1960e41f4b71Sopenharmony_ci | callback | Callback<{ publishId: number }> | 是 | 注册设备发布成功的回调方法。 | 1961e41f4b71Sopenharmony_ci 1962e41f4b71Sopenharmony_ci**错误码:** 1963e41f4b71Sopenharmony_ci 1964e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 1965e41f4b71Sopenharmony_ci 1966e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1967e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 1968e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 1969e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 1970e41f4b71Sopenharmony_ci 1971e41f4b71Sopenharmony_ci**示例:** 1972e41f4b71Sopenharmony_ci 1973e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 1974e41f4b71Sopenharmony_ci ```ts 1975e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1976e41f4b71Sopenharmony_ci 1977e41f4b71Sopenharmony_ci class Data { 1978e41f4b71Sopenharmony_ci publishId: number = 0; 1979e41f4b71Sopenharmony_ci } 1980e41f4b71Sopenharmony_ci 1981e41f4b71Sopenharmony_ci try { 1982e41f4b71Sopenharmony_ci dmInstance.on('publishSuccess', (data: Data) => { 1983e41f4b71Sopenharmony_ci console.info("publishSuccess:" + JSON.stringify(data)); 1984e41f4b71Sopenharmony_ci }); 1985e41f4b71Sopenharmony_ci } catch (err) { 1986e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 1987e41f4b71Sopenharmony_ci console.error("publishSuccess errCode:" + e.code + ",errMessage:" + e.message); 1988e41f4b71Sopenharmony_ci } 1989e41f4b71Sopenharmony_ci ``` 1990e41f4b71Sopenharmony_ci 1991e41f4b71Sopenharmony_ci### off('publishSuccess')<sup>9+</sup> 1992e41f4b71Sopenharmony_ci 1993e41f4b71Sopenharmony_cioff(type: 'publishSuccess', callback?: Callback<{ publishId: number }>): void 1994e41f4b71Sopenharmony_ci 1995e41f4b71Sopenharmony_ci取消注册设备发布成功回调。 1996e41f4b71Sopenharmony_ci 1997e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 1998e41f4b71Sopenharmony_ci 1999e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 2000e41f4b71Sopenharmony_ci 2001e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 2002e41f4b71Sopenharmony_ci 2003e41f4b71Sopenharmony_ci**参数:** 2004e41f4b71Sopenharmony_ci 2005e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 2006e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------------------------- | 2007e41f4b71Sopenharmony_ci | type | string | 是 | 取消注册设备发布成功回调,固定为publishSuccess。 | 2008e41f4b71Sopenharmony_ci | callback | Callback<{ publishId: number }> | 否 | 指示要取消注册的设备发布成功回调。 | 2009e41f4b71Sopenharmony_ci 2010e41f4b71Sopenharmony_ci**错误码:** 2011e41f4b71Sopenharmony_ci 2012e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 2013e41f4b71Sopenharmony_ci 2014e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2015e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 2016e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 2017e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 2018e41f4b71Sopenharmony_ci 2019e41f4b71Sopenharmony_ci**示例:** 2020e41f4b71Sopenharmony_ci 2021e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 2022e41f4b71Sopenharmony_ci ```ts 2023e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 2024e41f4b71Sopenharmony_ci 2025e41f4b71Sopenharmony_ci class Data { 2026e41f4b71Sopenharmony_ci publishId: number = 0; 2027e41f4b71Sopenharmony_ci } 2028e41f4b71Sopenharmony_ci 2029e41f4b71Sopenharmony_ci try { 2030e41f4b71Sopenharmony_ci dmInstance.off('publishSuccess', (data: Data) => { 2031e41f4b71Sopenharmony_ci console.info('publishSuccess' + JSON.stringify(data)); 2032e41f4b71Sopenharmony_ci }); 2033e41f4b71Sopenharmony_ci } catch (err) { 2034e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 2035e41f4b71Sopenharmony_ci console.error("publishSuccess errCode:" + e.code + ",errMessage:" + e.message); 2036e41f4b71Sopenharmony_ci } 2037e41f4b71Sopenharmony_ci ``` 2038e41f4b71Sopenharmony_ci 2039e41f4b71Sopenharmony_ci### on('publishFail')<sup>9+</sup> 2040e41f4b71Sopenharmony_ci 2041e41f4b71Sopenharmony_cion(type: 'publishFail', callback: Callback<{ publishId: number, reason: number }>): void 2042e41f4b71Sopenharmony_ci 2043e41f4b71Sopenharmony_ci注册设备发布失败回调监听。 2044e41f4b71Sopenharmony_ci 2045e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 2046e41f4b71Sopenharmony_ci 2047e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 2048e41f4b71Sopenharmony_ci 2049e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 2050e41f4b71Sopenharmony_ci 2051e41f4b71Sopenharmony_ci**参数:** 2052e41f4b71Sopenharmony_ci 2053e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 2054e41f4b71Sopenharmony_ci | -------- | ----------------------------------------------------- | ---- | ------------------------------ | 2055e41f4b71Sopenharmony_ci | type | string | 是 | 注册设备发布失败回调,以便在发布设备失败时通知应用程序,固定为publishFail | 2056e41f4b71Sopenharmony_ci | callback | Callback<{ publishId: number, reason: number }> | 是 | 注册设备发布失败的回调方法。 | 2057e41f4b71Sopenharmony_ci 2058e41f4b71Sopenharmony_ci**错误码:** 2059e41f4b71Sopenharmony_ci 2060e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 2061e41f4b71Sopenharmony_ci 2062e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2063e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 2064e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 2065e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 2066e41f4b71Sopenharmony_ci 2067e41f4b71Sopenharmony_ci**示例:** 2068e41f4b71Sopenharmony_ci 2069e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 2070e41f4b71Sopenharmony_ci ```ts 2071e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 2072e41f4b71Sopenharmony_ci 2073e41f4b71Sopenharmony_ci class Data { 2074e41f4b71Sopenharmony_ci publishId: number = 0; 2075e41f4b71Sopenharmony_ci reason: number = 0; 2076e41f4b71Sopenharmony_ci } 2077e41f4b71Sopenharmony_ci 2078e41f4b71Sopenharmony_ci try { 2079e41f4b71Sopenharmony_ci dmInstance.on('publishFail', (data: Data) => { 2080e41f4b71Sopenharmony_ci console.info("publishFail on:" + JSON.stringify(data)); 2081e41f4b71Sopenharmony_ci }); 2082e41f4b71Sopenharmony_ci } catch (err) { 2083e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 2084e41f4b71Sopenharmony_ci console.error("publishFail errCode:" + e.code + ",errMessage:" + e.message); 2085e41f4b71Sopenharmony_ci } 2086e41f4b71Sopenharmony_ci ``` 2087e41f4b71Sopenharmony_ci 2088e41f4b71Sopenharmony_ci### off('publishFail')<sup>9+</sup> 2089e41f4b71Sopenharmony_ci 2090e41f4b71Sopenharmony_cioff(type: 'publishFail', callback?: Callback<{ publishId: number, reason: number }>): void 2091e41f4b71Sopenharmony_ci 2092e41f4b71Sopenharmony_ci取消注册设备发布失败回调。 2093e41f4b71Sopenharmony_ci 2094e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。无替代接口。 2095e41f4b71Sopenharmony_ci 2096e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 2097e41f4b71Sopenharmony_ci 2098e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 2099e41f4b71Sopenharmony_ci 2100e41f4b71Sopenharmony_ci**参数:** 2101e41f4b71Sopenharmony_ci 2102e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 2103e41f4b71Sopenharmony_ci | -------- | ----------------------------------------------------- | ---- | ----------------- | 2104e41f4b71Sopenharmony_ci | type | string | 是 | 取消注册设备发布失败回调,固定为publishFail。 | 2105e41f4b71Sopenharmony_ci | callback | Callback<{ publishId: number, reason: number }> | 否 | 指示要取消注册设备发布失败回调。 | 2106e41f4b71Sopenharmony_ci 2107e41f4b71Sopenharmony_ci**错误码:** 2108e41f4b71Sopenharmony_ci 2109e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 2110e41f4b71Sopenharmony_ci 2111e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2112e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 2113e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 2114e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 2115e41f4b71Sopenharmony_ci 2116e41f4b71Sopenharmony_ci**示例:** 2117e41f4b71Sopenharmony_ci 2118e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 2119e41f4b71Sopenharmony_ci ```ts 2120e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 2121e41f4b71Sopenharmony_ci 2122e41f4b71Sopenharmony_ci class Data { 2123e41f4b71Sopenharmony_ci publishId: number = 0; 2124e41f4b71Sopenharmony_ci reason: number = 0; 2125e41f4b71Sopenharmony_ci } 2126e41f4b71Sopenharmony_ci 2127e41f4b71Sopenharmony_ci try { 2128e41f4b71Sopenharmony_ci dmInstance.off('publishFail', (data: Data) => { 2129e41f4b71Sopenharmony_ci console.info('publishFail' + JSON.stringify(data)); 2130e41f4b71Sopenharmony_ci }); 2131e41f4b71Sopenharmony_ci } catch (err) { 2132e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 2133e41f4b71Sopenharmony_ci console.error("publishFail errCode:" + e.code + ",errMessage:" + e.message); 2134e41f4b71Sopenharmony_ci } 2135e41f4b71Sopenharmony_ci ``` 2136e41f4b71Sopenharmony_ci 2137e41f4b71Sopenharmony_ci### on('serviceDie') 2138e41f4b71Sopenharmony_ci 2139e41f4b71Sopenharmony_cion(type: 'serviceDie', callback: () => void): void 2140e41f4b71Sopenharmony_ci 2141e41f4b71Sopenharmony_ci注册设备管理服务死亡监听。 2142e41f4b71Sopenharmony_ci 2143e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[on('serviceDie')](js-apis-distributedDeviceManager.md#onservicedie)替代。 2144e41f4b71Sopenharmony_ci 2145e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 2146e41f4b71Sopenharmony_ci 2147e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 2148e41f4b71Sopenharmony_ci 2149e41f4b71Sopenharmony_ci**参数:** 2150e41f4b71Sopenharmony_ci 2151e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 2152e41f4b71Sopenharmony_ci | -------- | ----------------------- | ---- | ---------------------------------------- | 2153e41f4b71Sopenharmony_ci | type | string | 是 | 注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序,固定为serviceDie。 | 2154e41f4b71Sopenharmony_ci | callback | () => void | 是 | 注册serviceDie的回调方法。 | 2155e41f4b71Sopenharmony_ci 2156e41f4b71Sopenharmony_ci**错误码:** 2157e41f4b71Sopenharmony_ci 2158e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 2159e41f4b71Sopenharmony_ci 2160e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2161e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 2162e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 2163e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 2164e41f4b71Sopenharmony_ci 2165e41f4b71Sopenharmony_ci**示例:** 2166e41f4b71Sopenharmony_ci 2167e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 2168e41f4b71Sopenharmony_ci ```ts 2169e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 2170e41f4b71Sopenharmony_ci 2171e41f4b71Sopenharmony_ci try { 2172e41f4b71Sopenharmony_ci dmInstance.on("serviceDie", () => { 2173e41f4b71Sopenharmony_ci console.info("serviceDie on"); 2174e41f4b71Sopenharmony_ci }); 2175e41f4b71Sopenharmony_ci } catch (err) { 2176e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 2177e41f4b71Sopenharmony_ci console.error("serviceDie errCode:" + e.code + ",errMessage:" + e.message); 2178e41f4b71Sopenharmony_ci } 2179e41f4b71Sopenharmony_ci ``` 2180e41f4b71Sopenharmony_ci 2181e41f4b71Sopenharmony_ci### off('serviceDie') 2182e41f4b71Sopenharmony_ci 2183e41f4b71Sopenharmony_cioff(type: 'serviceDie', callback?: () => void): void 2184e41f4b71Sopenharmony_ci 2185e41f4b71Sopenharmony_ci取消注册设备管理服务死亡监听。 2186e41f4b71Sopenharmony_ci 2187e41f4b71Sopenharmony_ci> 从API version 11 开始废弃。建议使用[off('serviceDie')](js-apis-distributedDeviceManager.md#offservicedie)替代。 2188e41f4b71Sopenharmony_ci 2189e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_SERVICE_DM 2190e41f4b71Sopenharmony_ci 2191e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.DistributedHardware.DeviceManager 2192e41f4b71Sopenharmony_ci 2193e41f4b71Sopenharmony_ci**参数:** 2194e41f4b71Sopenharmony_ci 2195e41f4b71Sopenharmony_ci | 参数名 | 类型 | 必填 | 说明 | 2196e41f4b71Sopenharmony_ci | -------- | ----------------------- | ---- | ---------------------------------------- | 2197e41f4b71Sopenharmony_ci | type | string | 是 | 取消注册serviceDie回调,以便在devicemanager服务异常终止时通知应用程序,固定为serviceDie。 | 2198e41f4b71Sopenharmony_ci | callback | () => void | 否 | 取消注册serviceDie的回调方法。 | 2199e41f4b71Sopenharmony_ci 2200e41f4b71Sopenharmony_ci**错误码:** 2201e41f4b71Sopenharmony_ci 2202e41f4b71Sopenharmony_ci以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md) 2203e41f4b71Sopenharmony_ci 2204e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2205e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 2206e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 2207e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter type; 3. Parameter verification failed. 4. The size of specified eventType is greater than 255. | 2208e41f4b71Sopenharmony_ci 2209e41f4b71Sopenharmony_ci**示例:** 2210e41f4b71Sopenharmony_ci 2211e41f4b71Sopenharmony_ci示例中`dmInstance`的初始化请参见[DM初始化](#devicemanagercreatedevicemanager) 2212e41f4b71Sopenharmony_ci ```ts 2213e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 2214e41f4b71Sopenharmony_ci 2215e41f4b71Sopenharmony_ci try { 2216e41f4b71Sopenharmony_ci dmInstance.off("serviceDie", () => { 2217e41f4b71Sopenharmony_ci console.info("serviceDie off"); 2218e41f4b71Sopenharmony_ci }); 2219e41f4b71Sopenharmony_ci } catch (err) { 2220e41f4b71Sopenharmony_ci let e: BusinessError = err as BusinessError; 2221e41f4b71Sopenharmony_ci console.error("serviceDie errCode:" + e.code + ",errMessage:" + e.message); 2222e41f4b71Sopenharmony_ci } 2223e41f4b71Sopenharmony_ci ```