1e41f4b71Sopenharmony_ci# @ohos.distributedHardware.deviceManager (Device Management) (System API) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciThe APIs of this module are deprecated. You are advised to use [@ohos.distributedDeviceManager](js-apis-distributedDeviceManager.md). 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciThe **deviceManager** module provides APIs for distributed device management. 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciSystem applications can call the APIs to do the following: 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci- Subscribe to or unsubscribe from device state changes. 10e41f4b71Sopenharmony_ci- Discover peripheral untrusted devices. 11e41f4b71Sopenharmony_ci- Authenticate or deauthenticate a device. 12e41f4b71Sopenharmony_ci- Query the trusted device list. 13e41f4b71Sopenharmony_ci- Query local device information, including the device name, type, and ID. 14e41f4b71Sopenharmony_ci- Publish device information for discovery purposes. 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci> **NOTE** 17e41f4b71Sopenharmony_ci> 18e41f4b71Sopenharmony_ci> - The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. 19e41f4b71Sopenharmony_ci> - The APIs of this module are system APIs and cannot be called by third-party applications. 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci## Modules to Import 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_ciCreates a **DeviceManager** instance. 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [deviceManager.createDeviceManager](js-apis-distributedDeviceManager.md#devicemanagercreatedevicemanager) instead. 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci**Error codes** 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci| ID | Error Message | 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**Parameters** 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 51e41f4b71Sopenharmony_ci| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | 52e41f4b71Sopenharmony_ci| bundleName | string | Yes | Bundle name of the application. | 53e41f4b71Sopenharmony_ci| callback | AsyncCallback<[DeviceManager](#devicemanager)> | Yes | Callback used to return the **DeviceManager** instance created. | 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci**Example** 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_ciDefines device information. 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [DeviceBasicInfo](js-apis-distributedDeviceManager.md#devicebasicinfo) instead. 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 86e41f4b71Sopenharmony_ci| ---------------------- | ------------------------- | ---- | -------- | 87e41f4b71Sopenharmony_ci| deviceId | string | Yes | Unique identifier of the device. | 88e41f4b71Sopenharmony_ci| deviceName | string | Yes | Device name. | 89e41f4b71Sopenharmony_ci| deviceType | [DeviceType](#devicetype) | Yes | Device type. | 90e41f4b71Sopenharmony_ci| networkId<sup>8+</sup> | string | Yes | Network ID of the device. | 91e41f4b71Sopenharmony_ci| range<sup>9+</sup> | number | Yes | Distance between the discovered device and the device that initiates device discovery. | 92e41f4b71Sopenharmony_ci| authForm<sup>10+</sup> | [AuthForm](#authform10) | Yes | Authentication type of the device. | 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_ci## DeviceType 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ciEnumerates the device types. 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci| Name | Value | Description | 103e41f4b71Sopenharmony_ci| ------------ | ---- | ---- | 104e41f4b71Sopenharmony_ci| SPEAKER | 0x0A | Smart speaker. | 105e41f4b71Sopenharmony_ci| PHONE | 0x0E | Phone. | 106e41f4b71Sopenharmony_ci| TABLET | 0x11 | Tablet. | 107e41f4b71Sopenharmony_ci| WEARABLE | 0x6D | Wearable.| 108e41f4b71Sopenharmony_ci| TV | 0x9C | Smart TV. | 109e41f4b71Sopenharmony_ci| CAR | 0x83 | Car. | 110e41f4b71Sopenharmony_ci| UNKNOWN_TYPE | 0 | Unknown device type. | 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci## AuthForm<sup>10+</sup> 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ciEnumerates the device authentication types. 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci| Name | Value | Description | 121e41f4b71Sopenharmony_ci| ------------------- | ---- | --------------- | 122e41f4b71Sopenharmony_ci| INVALID_TYPE | -1 | No authentication. | 123e41f4b71Sopenharmony_ci| PEER_TO_PEER | 0 | Point-to-point authentication for devices without accounts. | 124e41f4b71Sopenharmony_ci| IDENTICAL_ACCOUNT | 1 | Authentication for devices using the same account. | 125e41f4b71Sopenharmony_ci| ACROSS_ACCOUNT | 2 | Authentication for devices using different accounts. | 126e41f4b71Sopenharmony_ci 127e41f4b71Sopenharmony_ci## DeviceStateChangeAction 128e41f4b71Sopenharmony_ci 129e41f4b71Sopenharmony_ciEnumerates the device states. 130e41f4b71Sopenharmony_ci 131e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [DeviceStateChange](js-apis-distributedDeviceManager.md#devicestatechange) instead. 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci| Name | Value | Description | 136e41f4b71Sopenharmony_ci| ------- | ---- | --------------- | 137e41f4b71Sopenharmony_ci| ONLINE | 0 | The device is physically online. | 138e41f4b71Sopenharmony_ci| READY | 1 | The information between devices has been synchronized in the Distributed Data Service (DDS) module, and the device is ready for running distributed services. | 139e41f4b71Sopenharmony_ci| OFFLINE | 2 | The device is physically offline. | 140e41f4b71Sopenharmony_ci| CHANGE | 3 | The device information is changed. | 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci## SubscribeInfo 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ciDefines subscription information. 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 151e41f4b71Sopenharmony_ci| ------------- | --------------------------------- | ---- | ----------------- | 152e41f4b71Sopenharmony_ci| subscribeId | number | Yes | Subscription ID, used to identify a device discovery period. | 153e41f4b71Sopenharmony_ci| mode | [DiscoverMode ](#discovermode) | Yes | Device discovery mode. | 154e41f4b71Sopenharmony_ci| medium | [ExchangeMedium](#exchangemedium) | Yes | Medium used for device discovery. | 155e41f4b71Sopenharmony_ci| freq | [ExchangeFreq](#exchangefreq) | Yes | Frequency of device discovery. | 156e41f4b71Sopenharmony_ci| isSameAccount | boolean | No | Whether the same account is used on the discovered device. | 157e41f4b71Sopenharmony_ci| isWakeRemote | boolean | No | Whether to wake up the discovered device. | 158e41f4b71Sopenharmony_ci| capability | [SubscribeCap](#subscribecap) | Yes | Discovery capability. | 159e41f4b71Sopenharmony_ci 160e41f4b71Sopenharmony_ci 161e41f4b71Sopenharmony_ci## DiscoverMode 162e41f4b71Sopenharmony_ci 163e41f4b71Sopenharmony_ciEnumerates the device discovery modes. 164e41f4b71Sopenharmony_ci 165e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 166e41f4b71Sopenharmony_ci 167e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 168e41f4b71Sopenharmony_ci 169e41f4b71Sopenharmony_ci| Name | Value | Description | 170e41f4b71Sopenharmony_ci| --------------------- | ---- | ----- | 171e41f4b71Sopenharmony_ci| DISCOVER_MODE_PASSIVE | 0x55 | Passive discovery. | 172e41f4b71Sopenharmony_ci| DISCOVER_MODE_ACTIVE | 0xAA | Active discovery. | 173e41f4b71Sopenharmony_ci 174e41f4b71Sopenharmony_ci 175e41f4b71Sopenharmony_ci## ExchangeMedium 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ciEnumerates the media used for device discovery. 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 180e41f4b71Sopenharmony_ci 181e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 182e41f4b71Sopenharmony_ci 183e41f4b71Sopenharmony_ci| Name | Value | Description | 184e41f4b71Sopenharmony_ci| ---- | ---- | --------- | 185e41f4b71Sopenharmony_ci| AUTO | 0 | Automatic. | 186e41f4b71Sopenharmony_ci| BLE | 1 | Bluetooth. | 187e41f4b71Sopenharmony_ci| COAP | 2 | Wi-Fi. | 188e41f4b71Sopenharmony_ci| USB | 3 | USB. | 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci## ExchangeFreq 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ciEnumerates the device discovery frequencies. 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 195e41f4b71Sopenharmony_ci 196e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci| Name | Value | Description | 199e41f4b71Sopenharmony_ci| ---------- | ---- | ----- | 200e41f4b71Sopenharmony_ci| LOW | 0 | Low frequency. | 201e41f4b71Sopenharmony_ci| MID | 1 | Medium frequency. | 202e41f4b71Sopenharmony_ci| HIGH | 2 | High frequency. | 203e41f4b71Sopenharmony_ci| SUPER_HIGH | 3 | Ultra-high frequency. | 204e41f4b71Sopenharmony_ci 205e41f4b71Sopenharmony_ci 206e41f4b71Sopenharmony_ci## SubscribeCap 207e41f4b71Sopenharmony_ci 208e41f4b71Sopenharmony_ciEnumerates the discovery capabilities. 209e41f4b71Sopenharmony_ci 210e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 211e41f4b71Sopenharmony_ci 212e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci| Name | Value | Description | 215e41f4b71Sopenharmony_ci| ------------------------- | ---- | -------------- | 216e41f4b71Sopenharmony_ci| SUBSCRIBE_CAPABILITY_DDMP | 0 | DDMP capability. This will be deprecated later. | 217e41f4b71Sopenharmony_ci| SUBSCRIBE_CAPABILITY_OSD | 1 | OSD capability. | 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ci 220e41f4b71Sopenharmony_ci## AuthParam 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_ciDefines the authentication parameters. 223e41f4b71Sopenharmony_ci 224e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 225e41f4b71Sopenharmony_ci 226e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 229e41f4b71Sopenharmony_ci| --------- | -------------------- | ---- | ---------- | 230e41f4b71Sopenharmony_ci| authType | number | Yes | Authentication type. | 231e41f4b71Sopenharmony_ci| extraInfo | {[key:string] : any} | No | Extended field. The default value is **undefined**.| 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci## AuthInfo 234e41f4b71Sopenharmony_ci 235e41f4b71Sopenharmony_ciDefines authentication information. 236e41f4b71Sopenharmony_ci 237e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 238e41f4b71Sopenharmony_ci 239e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 240e41f4b71Sopenharmony_ci 241e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 242e41f4b71Sopenharmony_ci| --------- | -------------------- | ---- | ---------- | 243e41f4b71Sopenharmony_ci| authType | number | Yes | Authentication type. | 244e41f4b71Sopenharmony_ci| token | number | Yes | Authentication token. | 245e41f4b71Sopenharmony_ci| extraInfo | {[key:string] : any} | No | Extended field. The default value is **undefined**.| 246e41f4b71Sopenharmony_ci 247e41f4b71Sopenharmony_ci## PublishInfo<sup>9+</sup> 248e41f4b71Sopenharmony_ci 249e41f4b71Sopenharmony_ciDefines published device information. 250e41f4b71Sopenharmony_ci 251e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 252e41f4b71Sopenharmony_ci 253e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 254e41f4b71Sopenharmony_ci 255e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 256e41f4b71Sopenharmony_ci| ------------- | --------------------------------- | ---- | ----------------- | 257e41f4b71Sopenharmony_ci| publishId | number | Yes | ID used to identify a publication period. | 258e41f4b71Sopenharmony_ci| mode | [DiscoverMode ](#discovermode) | Yes | Device discovery mode. | 259e41f4b71Sopenharmony_ci| freq | [ExchangeFreq](#exchangefreq) | Yes | Frequency of device discovery. | 260e41f4b71Sopenharmony_ci| ranging | boolean | Yes | Whether the device supports distance reporting. | 261e41f4b71Sopenharmony_ci 262e41f4b71Sopenharmony_ci## DeviceManager 263e41f4b71Sopenharmony_ci 264e41f4b71Sopenharmony_ciProvides APIs to obtain information about trusted devices and local devices. Before calling any API in **DeviceManager**, you must use **createDeviceManager** to create a **DeviceManager** instance, for example, **dmInstance**. 265e41f4b71Sopenharmony_ci 266e41f4b71Sopenharmony_ci### release 267e41f4b71Sopenharmony_ci 268e41f4b71Sopenharmony_cirelease(): void 269e41f4b71Sopenharmony_ci 270e41f4b71Sopenharmony_ciReleases this **DeviceManager** instance when it is no longer used. 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [deviceManager.releaseDeviceManager](js-apis-distributedDeviceManager.md#devicemanagerreleasedevicemanager) instead. 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci**Error codes** 279e41f4b71Sopenharmony_ci 280e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciObtains all trusted devices synchronously. 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [getAvailableDeviceListSync](js-apis-distributedDeviceManager.md#getavailabledevicelistsync) instead. 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ci**Return value** 315e41f4b71Sopenharmony_ci 316e41f4b71Sopenharmony_ci | Name | Description | 317e41f4b71Sopenharmony_ci | -------------------------------------- | --------- | 318e41f4b71Sopenharmony_ci | Array<[DeviceInfo](#deviceinfo)> | List of trusted devices obtained. | 319e41f4b71Sopenharmony_ci 320e41f4b71Sopenharmony_ci**Error codes** 321e41f4b71Sopenharmony_ci 322e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 323e41f4b71Sopenharmony_ci 324e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciEnables the DSoftBus heartbeat mode to quickly bring offline trusted devices online and updates the list of online trusted devices. 350e41f4b71Sopenharmony_ci 351e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 352e41f4b71Sopenharmony_ci 353e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_ci**Parameters** 358e41f4b71Sopenharmony_ci 359e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 360e41f4b71Sopenharmony_ci| ------------- | --------------------------------- | ---- | ---------------------------------- | 361e41f4b71Sopenharmony_ci| isRefresh | boolean | Yes | Whether to enable the heartbeat mode and update the list of online trusted devices. | 362e41f4b71Sopenharmony_ci 363e41f4b71Sopenharmony_ci**Return value** 364e41f4b71Sopenharmony_ci 365e41f4b71Sopenharmony_ci| Name | Description | 366e41f4b71Sopenharmony_ci| -------------------------------------- | ---------------- | 367e41f4b71Sopenharmony_ci| Array<[DeviceInfo](#deviceinfo)> | List of trusted devices obtained. | 368e41f4b71Sopenharmony_ci 369e41f4b71Sopenharmony_ci**Error codes** 370e41f4b71Sopenharmony_ci 371e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 372e41f4b71Sopenharmony_ci 373e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 381e41f4b71Sopenharmony_ci 382e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciObtains all trusted devices. This API uses an asynchronous callback to return the result. 400e41f4b71Sopenharmony_ci 401e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [getAvailableDeviceList](js-apis-distributedDeviceManager.md#getavailabledevicelist) instead. 402e41f4b71Sopenharmony_ci 403e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 404e41f4b71Sopenharmony_ci 405e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 406e41f4b71Sopenharmony_ci 407e41f4b71Sopenharmony_ci**Parameters** 408e41f4b71Sopenharmony_ci 409e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 410e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------------------- | 411e41f4b71Sopenharmony_ci | callback | AsyncCallback<Array<[DeviceInfo](#deviceinfo)>> | Yes | Callback used to return the list of trusted devices. | 412e41f4b71Sopenharmony_ci 413e41f4b71Sopenharmony_ci**Error codes** 414e41f4b71Sopenharmony_ci 415e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 416e41f4b71Sopenharmony_ci 417e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 423e41f4b71Sopenharmony_ci 424e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciObtains all trusted devices. This API uses a promise to return the result. 448e41f4b71Sopenharmony_ci 449e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [getAvailableDeviceList](js-apis-distributedDeviceManager.md#getavailabledevicelist-1) instead. 450e41f4b71Sopenharmony_ci 451e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 452e41f4b71Sopenharmony_ci 453e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 454e41f4b71Sopenharmony_ci 455e41f4b71Sopenharmony_ci**Return value** 456e41f4b71Sopenharmony_ci 457e41f4b71Sopenharmony_ci | Type | Description | 458e41f4b71Sopenharmony_ci | ---------------------------------------- | --------------------- | 459e41f4b71Sopenharmony_ci | Promise<Array<[DeviceInfo](#deviceinfo)>> | Promise used to return the result. | 460e41f4b71Sopenharmony_ci 461e41f4b71Sopenharmony_ci**Error codes** 462e41f4b71Sopenharmony_ci 463e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 464e41f4b71Sopenharmony_ci 465e41f4b71Sopenharmony_ci| ID | Error Message | 466e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 467e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 468e41f4b71Sopenharmony_ci 469e41f4b71Sopenharmony_ci**Example** 470e41f4b71Sopenharmony_ci 471e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciObtains local device information synchronously. 488e41f4b71Sopenharmony_ci 489e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [getLocalDeviceNetworkId](js-apis-distributedDeviceManager.md#getlocaldevicenetworkid), [getLocalDeviceName](js-apis-distributedDeviceManager.md#getlocaldevicename), [getLocalDeviceType](js-apis-distributedDeviceManager.md#getlocaldevicetype), or [getLocalDeviceId](js-apis-distributedDeviceManager.md#getlocaldeviceid) instead. 490e41f4b71Sopenharmony_ci 491e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 492e41f4b71Sopenharmony_ci 493e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 494e41f4b71Sopenharmony_ci 495e41f4b71Sopenharmony_ci**Return value** 496e41f4b71Sopenharmony_ci 497e41f4b71Sopenharmony_ci | Name | Description | 498e41f4b71Sopenharmony_ci | ------------------------- | ---------------- | 499e41f4b71Sopenharmony_ci | [DeviceInfo](#deviceinfo) | List of local devices obtained. | 500e41f4b71Sopenharmony_ci 501e41f4b71Sopenharmony_ci**Error codes** 502e41f4b71Sopenharmony_ci 503e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 504e41f4b71Sopenharmony_ci 505e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 512e41f4b71Sopenharmony_ci 513e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciObtains local device information. This API uses an asynchronous callback to return the result. 531e41f4b71Sopenharmony_ci 532e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [getLocalDeviceNetworkId](js-apis-distributedDeviceManager.md#getlocaldevicenetworkid), [getLocalDeviceName](js-apis-distributedDeviceManager.md#getlocaldevicename), [getLocalDeviceType](js-apis-distributedDeviceManager.md#getlocaldevicetype), or [getLocalDeviceId](js-apis-distributedDeviceManager.md#getlocaldeviceid) instead. 533e41f4b71Sopenharmony_ci 534e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 535e41f4b71Sopenharmony_ci 536e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 537e41f4b71Sopenharmony_ci 538e41f4b71Sopenharmony_ci**Parameters** 539e41f4b71Sopenharmony_ci 540e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 541e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------- | 542e41f4b71Sopenharmony_ci | callback | AsyncCallback<[DeviceInfo](#deviceinfo)> | Yes | Callback used to return the local device information. | 543e41f4b71Sopenharmony_ci 544e41f4b71Sopenharmony_ci**Error codes** 545e41f4b71Sopenharmony_ci 546e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 547e41f4b71Sopenharmony_ci 548e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciObtains local device information. This API uses a promise to return the result. 580e41f4b71Sopenharmony_ci 581e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [getLocalDeviceNetworkId](js-apis-distributedDeviceManager.md#getlocaldevicenetworkid), [getLocalDeviceName](js-apis-distributedDeviceManager.md#getlocaldevicename), [getLocalDeviceType](js-apis-distributedDeviceManager.md#getlocaldevicetype), or [getLocalDeviceId](js-apis-distributedDeviceManager.md#getlocaldeviceid) instead. 582e41f4b71Sopenharmony_ci 583e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 584e41f4b71Sopenharmony_ci 585e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 586e41f4b71Sopenharmony_ci 587e41f4b71Sopenharmony_ci**Return value** 588e41f4b71Sopenharmony_ci 589e41f4b71Sopenharmony_ci | Type | Description | 590e41f4b71Sopenharmony_ci | ---------------------------------------- | --------------------- | 591e41f4b71Sopenharmony_ci | Promise<[DeviceInfo](#deviceinfo)> | Promise used to return the result. | 592e41f4b71Sopenharmony_ci 593e41f4b71Sopenharmony_ci**Error codes** 594e41f4b71Sopenharmony_ci 595e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 596e41f4b71Sopenharmony_ci 597e41f4b71Sopenharmony_ci| ID | Error Message | 598e41f4b71Sopenharmony_ci| -------- | --------------------------------------------------------------- | 599e41f4b71Sopenharmony_ci| 202 | Permission verification failed. A non-system application calls a system API. | 600e41f4b71Sopenharmony_ci 601e41f4b71Sopenharmony_ci**Example** 602e41f4b71Sopenharmony_ci 603e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciObtains the information about a specific device based on the network ID. This API uses an asynchronous callback to return the result. 620e41f4b71Sopenharmony_ci 621e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [getDeviceName](js-apis-distributedDeviceManager.md#getdevicename) and [getDeviceType](js-apis-distributedDeviceManager.md#getdevicetype) instead. 622e41f4b71Sopenharmony_ci 623e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 624e41f4b71Sopenharmony_ci 625e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 626e41f4b71Sopenharmony_ci 627e41f4b71Sopenharmony_ci**Parameters** 628e41f4b71Sopenharmony_ci 629e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 630e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------- | 631e41f4b71Sopenharmony_ci | networkId| string | Yes | Network ID of the device. | 632e41f4b71Sopenharmony_ci | callback | AsyncCallback<[DeviceInfo](#deviceinfo)> | Yes | Callback used to return the information about the specified device. | 633e41f4b71Sopenharmony_ci 634e41f4b71Sopenharmony_ci**Error codes** 635e41f4b71Sopenharmony_ci 636e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 637e41f4b71Sopenharmony_ci 638e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 644e41f4b71Sopenharmony_ci 645e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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 // Network ID of the device, which can be obtained from the trusted device list 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_ciObtains the information about a specific device based on the network ID. This API uses a promise to return the result. 671e41f4b71Sopenharmony_ci 672e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [getDeviceName](js-apis-distributedDeviceManager.md#getdevicename) and [getDeviceType](js-apis-distributedDeviceManager.md#getdevicetype) instead. 673e41f4b71Sopenharmony_ci 674e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 675e41f4b71Sopenharmony_ci 676e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 677e41f4b71Sopenharmony_ci 678e41f4b71Sopenharmony_ci**Parameters** 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 681e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------- | 682e41f4b71Sopenharmony_ci | networkId| string | Yes | Network ID of the device. | 683e41f4b71Sopenharmony_ci 684e41f4b71Sopenharmony_ci**Return value** 685e41f4b71Sopenharmony_ci 686e41f4b71Sopenharmony_ci | Type | Description | 687e41f4b71Sopenharmony_ci | ---------------------------------------- | --------------------- | 688e41f4b71Sopenharmony_ci | Promise<[DeviceInfo](#deviceinfo)> | Promise used to return the result. | 689e41f4b71Sopenharmony_ci 690e41f4b71Sopenharmony_ci**Error codes** 691e41f4b71Sopenharmony_ci 692e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 693e41f4b71Sopenharmony_ci 694e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 700e41f4b71Sopenharmony_ci 701e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#devicemanagercreatedevicemanager). 702e41f4b71Sopenharmony_ci ```ts 703e41f4b71Sopenharmony_ci import deviceManager from '@ohos.distributedHardware.deviceManager'; 704e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ci // Network ID of the device, which can be obtained from the trusted device list 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_ciStarts to discover peripheral devices. The discovery process lasts 2 minutes. A maximum of 99 devices can be discovered. 720e41f4b71Sopenharmony_ci 721e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [startDiscovering](js-apis-distributedDeviceManager.md#startdiscovering) instead. 722e41f4b71Sopenharmony_ci 723e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 724e41f4b71Sopenharmony_ci 725e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 726e41f4b71Sopenharmony_ci 727e41f4b71Sopenharmony_ci**Parameters** 728e41f4b71Sopenharmony_ci 729e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 730e41f4b71Sopenharmony_ci | ------------- | ------------------------------- | ---- | ----- | 731e41f4b71Sopenharmony_ci | subscribeInfo | [SubscribeInfo](#subscribeinfo) | Yes | Subscription information.| 732e41f4b71Sopenharmony_ci 733e41f4b71Sopenharmony_ci**Error codes** 734e41f4b71Sopenharmony_ci 735e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 736e41f4b71Sopenharmony_ci 737e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 746e41f4b71Sopenharmony_ci 747e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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, // Active discovery 754e41f4b71Sopenharmony_ci medium: number, // Automatic. Multiple media can be used for device discovery. 755e41f4b71Sopenharmony_ci freq: number, // High frequency 756e41f4b71Sopenharmony_ci isSameAccount: boolean; 757e41f4b71Sopenharmony_ci isWakeRemote: boolean; 758e41f4b71Sopenharmony_ci capability: number; 759e41f4b71Sopenharmony_ci } 760e41f4b71Sopenharmony_ci 761e41f4b71Sopenharmony_ci // Automatically generate a unique subscription ID. 762e41f4b71Sopenharmony_ci let subscribeId = Math.floor(Math.random() * 10000 + 1000); 763e41f4b71Sopenharmony_ci let subscribeInfo: SubscribeInfo = { 764e41f4b71Sopenharmony_ci subscribeId: subscribeId, 765e41f4b71Sopenharmony_ci mode: 0xAA, // Active discovery 766e41f4b71Sopenharmony_ci medium: 0, // Automatic. Multiple media can be used for device discovery. 767e41f4b71Sopenharmony_ci freq: 2, // High frequency 768e41f4b71Sopenharmony_ci isSameAccount: false, 769e41f4b71Sopenharmony_ci isWakeRemote: false, 770e41f4b71Sopenharmony_ci capability: 1 771e41f4b71Sopenharmony_ci }; 772e41f4b71Sopenharmony_ci try { 773e41f4b71Sopenharmony_ci dmInstance.startDeviceDiscovery(subscribeInfo); // The deviceFound callback is called to notify the application when a device is discovered. 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_ciStarts to discover peripheral devices and filters discovered devices. The discovery process lasts 2 minutes. A maximum of 99 devices can be discovered. 785e41f4b71Sopenharmony_ci 786e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [startDiscovering](js-apis-distributedDeviceManager.md#startdiscovering) instead. 787e41f4b71Sopenharmony_ci 788e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 789e41f4b71Sopenharmony_ci 790e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 791e41f4b71Sopenharmony_ci 792e41f4b71Sopenharmony_ci**Parameters** 793e41f4b71Sopenharmony_ci 794e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 795e41f4b71Sopenharmony_ci | ------------- | ------------------------------- | ---- | ----- | 796e41f4b71Sopenharmony_ci | subscribeInfo | [SubscribeInfo](#subscribeinfo) | Yes | Subscription information. | 797e41f4b71Sopenharmony_ci | filterOptions | string | No | Options for filtering discovered devices. The default value is **undefined**, which indicates discovery of offline devices.| 798e41f4b71Sopenharmony_ci 799e41f4b71Sopenharmony_ci**Error codes** 800e41f4b71Sopenharmony_ci 801e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 802e41f4b71Sopenharmony_ci 803e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 812e41f4b71Sopenharmony_ci 813e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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, // Optional. The default value is OR. 824e41f4b71Sopenharmony_ci filters: Filters[]; 825e41f4b71Sopenharmony_ci } 826e41f4b71Sopenharmony_ci 827e41f4b71Sopenharmony_ci interface SubscribeInfo { 828e41f4b71Sopenharmony_ci subscribeId: number; 829e41f4b71Sopenharmony_ci mode: number, // Active discovery 830e41f4b71Sopenharmony_ci medium: number, // Automatic. Multiple media can be used for device discovery. 831e41f4b71Sopenharmony_ci freq: number, // High frequency 832e41f4b71Sopenharmony_ci isSameAccount: boolean; 833e41f4b71Sopenharmony_ci isWakeRemote: boolean; 834e41f4b71Sopenharmony_ci capability: number; 835e41f4b71Sopenharmony_ci } 836e41f4b71Sopenharmony_ci 837e41f4b71Sopenharmony_ci // Automatically generate a unique subscription ID. 838e41f4b71Sopenharmony_ci let subscribeId = Math.floor(Math.random() * 10000 + 1000); 839e41f4b71Sopenharmony_ci let subscribeInfo: SubscribeInfo = { 840e41f4b71Sopenharmony_ci subscribeId: subscribeId, 841e41f4b71Sopenharmony_ci mode: 0xAA, // Active discovery 842e41f4b71Sopenharmony_ci medium: 0, // Automatic. Multiple media can be used for device discovery. 843e41f4b71Sopenharmony_ci freq: 2, // High frequency 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 // Filter discovered devices based on the distance (in cm). 853e41f4b71Sopenharmony_ci } 854e41f4b71Sopenharmony_ci ]; 855e41f4b71Sopenharmony_ci 856e41f4b71Sopenharmony_ci let filterOptions: FilterOptions = { 857e41f4b71Sopenharmony_ci filter_op: "OR", // Optional. The default value is OR. 858e41f4b71Sopenharmony_ci filters: filters 859e41f4b71Sopenharmony_ci }; 860e41f4b71Sopenharmony_ci try { 861e41f4b71Sopenharmony_ci dmInstance.startDeviceDiscovery(subscribeInfo, JSON.stringify(filterOptions)); // The deviceFound callback is invoked to notify the application when a device is discovered. 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_ciStops device discovery. 873e41f4b71Sopenharmony_ci 874e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [stopDiscovering](js-apis-distributedDeviceManager.md#stopdiscovering) instead. 875e41f4b71Sopenharmony_ci 876e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 877e41f4b71Sopenharmony_ci 878e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 879e41f4b71Sopenharmony_ci 880e41f4b71Sopenharmony_ci**Parameters** 881e41f4b71Sopenharmony_ci 882e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 883e41f4b71Sopenharmony_ci | ----------- | ------ | ---- | ----- | 884e41f4b71Sopenharmony_ci | subscribeId | number | Yes | Subscription ID. | 885e41f4b71Sopenharmony_ci 886e41f4b71Sopenharmony_ci**Error codes** 887e41f4b71Sopenharmony_ci 888e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 889e41f4b71Sopenharmony_ci 890e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 898e41f4b71Sopenharmony_ci 899e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#devicemanagercreatedevicemanager). 900e41f4b71Sopenharmony_ci ```ts 901e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 902e41f4b71Sopenharmony_ci 903e41f4b71Sopenharmony_ci try { 904e41f4b71Sopenharmony_ci // stopDeviceDiscovery and startDeviceDiscovery must be used in pairs, and the input parameter **subscribeId** passed in them must be the same. 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_ciPublishes device information for discovery purposes. The publish process lasts 2 minutes. 918e41f4b71Sopenharmony_ci 919e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 920e41f4b71Sopenharmony_ci 921e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 922e41f4b71Sopenharmony_ci 923e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 924e41f4b71Sopenharmony_ci 925e41f4b71Sopenharmony_ci**Parameters** 926e41f4b71Sopenharmony_ci 927e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 928e41f4b71Sopenharmony_ci | ------------- | ------------------------------- | ---- | ----- | 929e41f4b71Sopenharmony_ci | publishInfo | [PublishInfo](#publishinfo9) | Yes | Device information to publish. | 930e41f4b71Sopenharmony_ci 931e41f4b71Sopenharmony_ci**Error codes** 932e41f4b71Sopenharmony_ci 933e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 934e41f4b71Sopenharmony_ci 935e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 944e41f4b71Sopenharmony_ci 945e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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, // Active discovery 952e41f4b71Sopenharmony_ci freq: number, // High frequency 953e41f4b71Sopenharmony_ci ranging: boolean // Whether the device supports reporting the distance to the discovery initiator. 954e41f4b71Sopenharmony_ci }; 955e41f4b71Sopenharmony_ci 956e41f4b71Sopenharmony_ci // Automatically generate a unique subscription ID. 957e41f4b71Sopenharmony_ci let publishId = Math.floor(Math.random() * 10000 + 1000); 958e41f4b71Sopenharmony_ci let publishInfo: PublishInfo = { 959e41f4b71Sopenharmony_ci publishId: publishId, 960e41f4b71Sopenharmony_ci mode: 0xAA, // Active discovery 961e41f4b71Sopenharmony_ci freq: 2, // High frequency 962e41f4b71Sopenharmony_ci ranging: true // The device supports reporting the distance to the discovery initiator. 963e41f4b71Sopenharmony_ci }; 964e41f4b71Sopenharmony_ci 965e41f4b71Sopenharmony_ci try { 966e41f4b71Sopenharmony_ci dmInstance.publishDeviceDiscovery(publishInfo); // A callback is invoked to notify the application when the device information is published. 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_ciStops publishing device information. 978e41f4b71Sopenharmony_ci 979e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 980e41f4b71Sopenharmony_ci 981e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 982e41f4b71Sopenharmony_ci 983e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 984e41f4b71Sopenharmony_ci 985e41f4b71Sopenharmony_ci**Parameters** 986e41f4b71Sopenharmony_ci 987e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 988e41f4b71Sopenharmony_ci | ----------- | -------- | ---- | ----- | 989e41f4b71Sopenharmony_ci | publishId | number | Yes | Publish ID. | 990e41f4b71Sopenharmony_ci 991e41f4b71Sopenharmony_ci**Error codes** 992e41f4b71Sopenharmony_ci 993e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 994e41f4b71Sopenharmony_ci 995e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1003e41f4b71Sopenharmony_ci 1004e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#devicemanagercreatedevicemanager). 1005e41f4b71Sopenharmony_ci ```ts 1006e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1007e41f4b71Sopenharmony_ci 1008e41f4b71Sopenharmony_ci try { 1009e41f4b71Sopenharmony_ci // unPublishDeviceDiscovery and publishDeviceDiscovery must be used in pairs, and the input parameter **publishId** passed in them must be the same. 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_ciAuthenticates a device. 1023e41f4b71Sopenharmony_ci 1024e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [bindTarget](js-apis-distributedDeviceManager.md#bindtarget) instead. 1025e41f4b71Sopenharmony_ci 1026e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1027e41f4b71Sopenharmony_ci 1028e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1029e41f4b71Sopenharmony_ci 1030e41f4b71Sopenharmony_ci**Parameters** 1031e41f4b71Sopenharmony_ci 1032e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1033e41f4b71Sopenharmony_ci | ---------- | ---------------------------------------- | ---- | ------- | 1034e41f4b71Sopenharmony_ci | deviceInfo | [DeviceInfo](#deviceinfo) | Yes | Device information. | 1035e41f4b71Sopenharmony_ci | authParam | [AuthParam](#authparam) | Yes | Authentication parameter. | 1036e41f4b71Sopenharmony_ci | callback | AsyncCallback<{deviceId: string, pinToken ?: number}> | Yes | Callback used to return the authentication result. | 1037e41f4b71Sopenharmony_ci 1038e41f4b71Sopenharmony_ci**Error codes** 1039e41f4b71Sopenharmony_ci 1040e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1041e41f4b71Sopenharmony_ci 1042e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1048e41f4b71Sopenharmony_ci 1049e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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,// Authentication type. The value 1 means PIN authentication. 1075e41f4b71Sopenharmony_ci extraInfo: ExtraInfo; 1076e41f4b71Sopenharmony_ci } 1077e41f4b71Sopenharmony_ci 1078e41f4b71Sopenharmony_ci // Information about the device to authenticate. The information can be obtained from the device discovery result. 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,// Authentication type. The value 1 means no account PIN authentication. 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_ciDeauthenticates a device. 1118e41f4b71Sopenharmony_ci 1119e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [unbindTarget](js-apis-distributedDeviceManager.md#unbindtarget) instead. 1120e41f4b71Sopenharmony_ci 1121e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1122e41f4b71Sopenharmony_ci 1123e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1124e41f4b71Sopenharmony_ci 1125e41f4b71Sopenharmony_ci**Parameters** 1126e41f4b71Sopenharmony_ci 1127e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1128e41f4b71Sopenharmony_ci | ---------- | ------------------------- | ---- | ----- | 1129e41f4b71Sopenharmony_ci | deviceInfo | [DeviceInfo](#deviceinfo) | Yes | Device information. | 1130e41f4b71Sopenharmony_ci 1131e41f4b71Sopenharmony_ci**Error codes** 1132e41f4b71Sopenharmony_ci 1133e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Device Management Error Codes](errorcode-device-manager.md). 1134e41f4b71Sopenharmony_ci 1135e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1143e41f4b71Sopenharmony_ci 1144e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciVerifies authentication information. 1177e41f4b71Sopenharmony_ci 1178e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 1179e41f4b71Sopenharmony_ci 1180e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1181e41f4b71Sopenharmony_ci 1182e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1183e41f4b71Sopenharmony_ci 1184e41f4b71Sopenharmony_ci**Parameters** 1185e41f4b71Sopenharmony_ci 1186e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1187e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | ------- | 1188e41f4b71Sopenharmony_ci | authInfo | [AuthInfo](#authinfo) | Yes | Authentication information. | 1189e41f4b71Sopenharmony_ci | callback | AsyncCallback<{deviceId: string, level: number}> | Yes | Callback used to return the verification result. | 1190e41f4b71Sopenharmony_ci 1191e41f4b71Sopenharmony_ci**Error codes** 1192e41f4b71Sopenharmony_ci 1193e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1194e41f4b71Sopenharmony_ci 1195e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1201e41f4b71Sopenharmony_ci 1202e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciSets a user operation. 1251e41f4b71Sopenharmony_ci 1252e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [replyUiAction](js-apis-distributedDeviceManager-sys.md#replyuiaction) instead. 1253e41f4b71Sopenharmony_ci 1254e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1255e41f4b71Sopenharmony_ci 1256e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1257e41f4b71Sopenharmony_ci 1258e41f4b71Sopenharmony_ci**Parameters** 1259e41f4b71Sopenharmony_ci 1260e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1261e41f4b71Sopenharmony_ci | ------------- | --------------- | ---- | ------------------- | 1262e41f4b71Sopenharmony_ci | operateAction | number | Yes | User operation. | 1263e41f4b71Sopenharmony_ci | params | string | Yes | Input parameters of the user. | 1264e41f4b71Sopenharmony_ci 1265e41f4b71Sopenharmony_ci**Error codes** 1266e41f4b71Sopenharmony_ci 1267e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1268e41f4b71Sopenharmony_ci 1269e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1276e41f4b71Sopenharmony_ci 1277e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#devicemanagercreatedevicemanager). 1278e41f4b71Sopenharmony_ci ```ts 1279e41f4b71Sopenharmony_ci import { BusinessError } from '@ohos.base'; 1280e41f4b71Sopenharmony_ci 1281e41f4b71Sopenharmony_ci try { 1282e41f4b71Sopenharmony_ci /* 1283e41f4b71Sopenharmony_ci operateAction = 0 - Grant the permission. 1284e41f4b71Sopenharmony_ci operateAction = 1 - Revoke the permission. 1285e41f4b71Sopenharmony_ci operateAction = 2 - The user operation in the permission request dialog box times out. 1286e41f4b71Sopenharmony_ci operateAction = 3 - Cancel the display of the PIN box. 1287e41f4b71Sopenharmony_ci operateAction = 4 - Cancel the display of the PIN input box. 1288e41f4b71Sopenharmony_ci operateAction = 5 - Confirm the input in the PIN input box. 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_ciObtains the registration information of the credential. 1303e41f4b71Sopenharmony_ci 1304e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 1305e41f4b71Sopenharmony_ci 1306e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1307e41f4b71Sopenharmony_ci 1308e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1309e41f4b71Sopenharmony_ci 1310e41f4b71Sopenharmony_ci**Parameters** 1311e41f4b71Sopenharmony_ci 1312e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1313e41f4b71Sopenharmony_ci | ------------- | --------------- | ---- | ------------------- | 1314e41f4b71Sopenharmony_ci | requestInfo | string | Yes | Request credential information. | 1315e41f4b71Sopenharmony_ci | callback | AsyncCallback<{registerInfo: string}> | Yes | Callback used to return the credential registration information. | 1316e41f4b71Sopenharmony_ci 1317e41f4b71Sopenharmony_ci**Error codes** 1318e41f4b71Sopenharmony_ci 1319e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1320e41f4b71Sopenharmony_ci 1321e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1327e41f4b71Sopenharmony_ci 1328e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciImports credential information. 1365e41f4b71Sopenharmony_ci 1366e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 1367e41f4b71Sopenharmony_ci 1368e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1369e41f4b71Sopenharmony_ci 1370e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1371e41f4b71Sopenharmony_ci 1372e41f4b71Sopenharmony_ci**Parameters** 1373e41f4b71Sopenharmony_ci 1374e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1375e41f4b71Sopenharmony_ci | ------------- | --------------- | ---- | ------------------- | 1376e41f4b71Sopenharmony_ci | credentialInfo| string | Yes | Credential information to import. | 1377e41f4b71Sopenharmony_ci | callback | AsyncCallback<{resultInfo: string}> | Yes | Callback used to return the result. | 1378e41f4b71Sopenharmony_ci 1379e41f4b71Sopenharmony_ci**Error codes** 1380e41f4b71Sopenharmony_ci 1381e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1382e41f4b71Sopenharmony_ci 1383e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1389e41f4b71Sopenharmony_ci 1390e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciDeletes credential information. 1460e41f4b71Sopenharmony_ci 1461e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 1462e41f4b71Sopenharmony_ci 1463e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1464e41f4b71Sopenharmony_ci 1465e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1466e41f4b71Sopenharmony_ci 1467e41f4b71Sopenharmony_ci**Parameters** 1468e41f4b71Sopenharmony_ci 1469e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1470e41f4b71Sopenharmony_ci | ------------- | --------------- | ---- | ------------------- | 1471e41f4b71Sopenharmony_ci | queryInfo | string | Yes | Credential information to delete. | 1472e41f4b71Sopenharmony_ci | callback | AsyncCallback<{resultInfo: string}> | Yes | Callback used to return the result. | 1473e41f4b71Sopenharmony_ci 1474e41f4b71Sopenharmony_ci**Error codes** 1475e41f4b71Sopenharmony_ci 1476e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1477e41f4b71Sopenharmony_ci 1478e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1484e41f4b71Sopenharmony_ci 1485e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciSubscribes to UI state changes. 1525e41f4b71Sopenharmony_ci 1526e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [on('replyResult')](js-apis-distributedDeviceManager-sys.md#onreplyresult) instead. 1527e41f4b71Sopenharmony_ci 1528e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1529e41f4b71Sopenharmony_ci 1530e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1531e41f4b71Sopenharmony_ci 1532e41f4b71Sopenharmony_ci**Parameters** 1533e41f4b71Sopenharmony_ci 1534e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1535e41f4b71Sopenharmony_ci | -------- | ------------------------------------ | ---- | ------------------------------ | 1536e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'uiStateChange'**, which indicates UI status changes.| 1537e41f4b71Sopenharmony_ci | callback | Callback<{ param: string}> | Yes | Callback used to return the UI status change. | 1538e41f4b71Sopenharmony_ci 1539e41f4b71Sopenharmony_ci**Error codes** 1540e41f4b71Sopenharmony_ci 1541e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1542e41f4b71Sopenharmony_ci 1543e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1549e41f4b71Sopenharmony_ci 1550e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciUnsubscribes from UI state changes. 1580e41f4b71Sopenharmony_ci 1581e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [off('replyResult')](js-apis-distributedDeviceManager-sys.md#offreplyresult) instead. 1582e41f4b71Sopenharmony_ci 1583e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1584e41f4b71Sopenharmony_ci 1585e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1586e41f4b71Sopenharmony_ci 1587e41f4b71Sopenharmony_ci**Parameters** 1588e41f4b71Sopenharmony_ci 1589e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1590e41f4b71Sopenharmony_ci | -------- | ------------------------------------- | ---- | ------------------------------ | 1591e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'uiStateChange'**, which indicates UI status changes.| 1592e41f4b71Sopenharmony_ci | callback | Callback<{ param: string}> | No | Callback to unregister.| 1593e41f4b71Sopenharmony_ci 1594e41f4b71Sopenharmony_ci**Error codes** 1595e41f4b71Sopenharmony_ci 1596e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1597e41f4b71Sopenharmony_ci 1598e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1604e41f4b71Sopenharmony_ci 1605e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciSubscribes to device state changes. 1622e41f4b71Sopenharmony_ci 1623e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [on('deviceStateChange')](js-apis-distributedDeviceManager.md#ondevicestatechange) instead. 1624e41f4b71Sopenharmony_ci 1625e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1626e41f4b71Sopenharmony_ci 1627e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1628e41f4b71Sopenharmony_ci 1629e41f4b71Sopenharmony_ci**Parameters** 1630e41f4b71Sopenharmony_ci 1631e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1632e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | ------------------------------ | 1633e41f4b71Sopenharmony_ci | type | string | Yes | Event type. The value is **deviceStateChange**, which indicates the device state change.| 1634e41f4b71Sopenharmony_ci | callback | Callback<{ action: [DeviceStateChangeAction](#devicestatechangeaction), device: [DeviceInfo](#deviceinfo) }> | Yes | Callback used to return the device information and state. | 1635e41f4b71Sopenharmony_ci 1636e41f4b71Sopenharmony_ci**Error codes** 1637e41f4b71Sopenharmony_ci 1638e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1639e41f4b71Sopenharmony_ci 1640e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1646e41f4b71Sopenharmony_ci 1647e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciUnsubscribes from device state changes. 1679e41f4b71Sopenharmony_ci 1680e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [off('deviceStateChange')](js-apis-distributedDeviceManager.md#offdevicestatechange) instead. 1681e41f4b71Sopenharmony_ci 1682e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1683e41f4b71Sopenharmony_ci 1684e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1685e41f4b71Sopenharmony_ci 1686e41f4b71Sopenharmony_ci**Parameters** 1687e41f4b71Sopenharmony_ci 1688e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1689e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------------------------- | 1690e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'deviceStateChange'**, which indicates device state changes. | 1691e41f4b71Sopenharmony_ci | callback | Callback<{ action: [DeviceStateChangeAction](#devicestatechangeaction), device: [DeviceInfo](#deviceinfo) }> | No | Callback to unregister.| 1692e41f4b71Sopenharmony_ci 1693e41f4b71Sopenharmony_ci**Error codes** 1694e41f4b71Sopenharmony_ci 1695e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1696e41f4b71Sopenharmony_ci 1697e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1703e41f4b71Sopenharmony_ci 1704e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciSubscribes to device discovery events. 1736e41f4b71Sopenharmony_ci 1737e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [on('discoverSuccess')](js-apis-distributedDeviceManager.md#ondiscoversuccess) instead. 1738e41f4b71Sopenharmony_ci 1739e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1740e41f4b71Sopenharmony_ci 1741e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1742e41f4b71Sopenharmony_ci 1743e41f4b71Sopenharmony_ci**Parameters** 1744e41f4b71Sopenharmony_ci 1745e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1746e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | -------------------------- | 1747e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'deviceFound'**, which indicates discovery of a device.| 1748e41f4b71Sopenharmony_ci | callback | Callback<{ subscribeId: number, device: [DeviceInfo](#deviceinfo) }> | Yes | Callback used for device discovery. | 1749e41f4b71Sopenharmony_ci 1750e41f4b71Sopenharmony_ci**Error codes** 1751e41f4b71Sopenharmony_ci 1752e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1753e41f4b71Sopenharmony_ci 1754e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1760e41f4b71Sopenharmony_ci 1761e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciUnsubscribes from device discovery events. 1793e41f4b71Sopenharmony_ci 1794e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [off('discoverSuccess')](js-apis-distributedDeviceManager.md#offdiscoversuccess) instead. 1795e41f4b71Sopenharmony_ci 1796e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1797e41f4b71Sopenharmony_ci 1798e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1799e41f4b71Sopenharmony_ci 1800e41f4b71Sopenharmony_ci**Parameters** 1801e41f4b71Sopenharmony_ci 1802e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1803e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------------------------- | 1804e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'deviceFound'**, which indicates discovery of a device. | 1805e41f4b71Sopenharmony_ci| callback | Callback<{ subscribeId: number, device: [DeviceInfo](#deviceinfo) }> | No | Callback to unregister. | 1806e41f4b71Sopenharmony_ci 1807e41f4b71Sopenharmony_ci**Error codes** 1808e41f4b71Sopenharmony_ci 1809e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1810e41f4b71Sopenharmony_ci 1811e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1817e41f4b71Sopenharmony_ci 1818e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciSubscribes to device discovery failures. 1850e41f4b71Sopenharmony_ci 1851e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [on('discoverFailure')](js-apis-distributedDeviceManager.md#ondiscoverfailure) instead. 1852e41f4b71Sopenharmony_ci 1853e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1854e41f4b71Sopenharmony_ci 1855e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1856e41f4b71Sopenharmony_ci 1857e41f4b71Sopenharmony_ci**Parameters** 1858e41f4b71Sopenharmony_ci 1859e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1860e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | ------------------------------ | 1861e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'discoverFail'**, which indicates a failure in discovering devices.| 1862e41f4b71Sopenharmony_ci | callback | Callback<{ subscribeId: number, reason: number }> | Yes | Callback used to return a device discovery failure. | 1863e41f4b71Sopenharmony_ci 1864e41f4b71Sopenharmony_ci**Error codes** 1865e41f4b71Sopenharmony_ci 1866e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1867e41f4b71Sopenharmony_ci 1868e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1874e41f4b71Sopenharmony_ci 1875e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciUnsubscribes from device discovery failures. 1899e41f4b71Sopenharmony_ci 1900e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [off('discoverFailure')](js-apis-distributedDeviceManager.md#offdiscoverfailure) instead. 1901e41f4b71Sopenharmony_ci 1902e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1903e41f4b71Sopenharmony_ci 1904e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1905e41f4b71Sopenharmony_ci 1906e41f4b71Sopenharmony_ci**Parameters** 1907e41f4b71Sopenharmony_ci 1908e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1909e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | ----------------- | 1910e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'discoverFail'**, which indicates a failure in discovering devices. | 1911e41f4b71Sopenharmony_ci | callback | Callback<{ subscribeId: number, reason: number }> | No | Callback to unregister.| 1912e41f4b71Sopenharmony_ci 1913e41f4b71Sopenharmony_ci**Error codes** 1914e41f4b71Sopenharmony_ci 1915e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1916e41f4b71Sopenharmony_ci 1917e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1923e41f4b71Sopenharmony_ci 1924e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciSubscribes to the **'publishSuccess'** event. The application will be notified when the information of a device is published. 1948e41f4b71Sopenharmony_ci 1949e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 1950e41f4b71Sopenharmony_ci 1951e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 1952e41f4b71Sopenharmony_ci 1953e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 1954e41f4b71Sopenharmony_ci 1955e41f4b71Sopenharmony_ci**Parameters** 1956e41f4b71Sopenharmony_ci 1957e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 1958e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | -------------------------- | 1959e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'publishSuccess'**, which indicates an event of the success in publishing device information.| 1960e41f4b71Sopenharmony_ci | callback | Callback<{ publishId: number }> | Yes | Callback used to return the publish ID. | 1961e41f4b71Sopenharmony_ci 1962e41f4b71Sopenharmony_ci**Error codes** 1963e41f4b71Sopenharmony_ci 1964e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 1965e41f4b71Sopenharmony_ci 1966e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 1972e41f4b71Sopenharmony_ci 1973e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciUnsubscribes from device information publication success events. 1996e41f4b71Sopenharmony_ci 1997e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 1998e41f4b71Sopenharmony_ci 1999e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 2000e41f4b71Sopenharmony_ci 2001e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 2002e41f4b71Sopenharmony_ci 2003e41f4b71Sopenharmony_ci**Parameters** 2004e41f4b71Sopenharmony_ci 2005e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 2006e41f4b71Sopenharmony_ci | -------- | ---------------------------------------- | ---- | --------------------------- | 2007e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'publishSuccess'**, which indicates an event of the success in publishing device information. | 2008e41f4b71Sopenharmony_ci | callback | Callback<{ publishId: number }> | No | Callback to unregister.| 2009e41f4b71Sopenharmony_ci 2010e41f4b71Sopenharmony_ci**Error codes** 2011e41f4b71Sopenharmony_ci 2012e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2013e41f4b71Sopenharmony_ci 2014e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 2020e41f4b71Sopenharmony_ci 2021e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciSubscribes to device information publication failures. 2044e41f4b71Sopenharmony_ci 2045e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 2046e41f4b71Sopenharmony_ci 2047e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 2048e41f4b71Sopenharmony_ci 2049e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 2050e41f4b71Sopenharmony_ci 2051e41f4b71Sopenharmony_ci**Parameters** 2052e41f4b71Sopenharmony_ci 2053e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 2054e41f4b71Sopenharmony_ci | -------- | ----------------------------------------------------- | ---- | ------------------------------ | 2055e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'publishFail'**, which indicates a failure in publishing device information.| 2056e41f4b71Sopenharmony_ci | callback | Callback<{ publishId: number, reason: number }> | Yes | Callback used to return a failure in publishing device information. | 2057e41f4b71Sopenharmony_ci 2058e41f4b71Sopenharmony_ci**Error codes** 2059e41f4b71Sopenharmony_ci 2060e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2061e41f4b71Sopenharmony_ci 2062e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 2068e41f4b71Sopenharmony_ci 2069e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciUnsubscribes from the **'publishFail'** event. 2093e41f4b71Sopenharmony_ci 2094e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. There is no substitute API. 2095e41f4b71Sopenharmony_ci 2096e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 2097e41f4b71Sopenharmony_ci 2098e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 2099e41f4b71Sopenharmony_ci 2100e41f4b71Sopenharmony_ci**Parameters** 2101e41f4b71Sopenharmony_ci 2102e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 2103e41f4b71Sopenharmony_ci | -------- | ----------------------------------------------------- | ---- | ----------------- | 2104e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'publishFail'**, which indicates a failure in publishing device information. | 2105e41f4b71Sopenharmony_ci | callback | Callback<{ publishId: number, reason: number }> | No | Callback to unregister.| 2106e41f4b71Sopenharmony_ci 2107e41f4b71Sopenharmony_ci**Error codes** 2108e41f4b71Sopenharmony_ci 2109e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2110e41f4b71Sopenharmony_ci 2111e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 2117e41f4b71Sopenharmony_ci 2118e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciSubscribes to dead events of the **DeviceManager** service. The application will be notified when the **DeviceManager** service is terminated unexpectedly. 2142e41f4b71Sopenharmony_ci 2143e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [on('serviceDie')](js-apis-distributedDeviceManager.md#onservicedie) instead. 2144e41f4b71Sopenharmony_ci 2145e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 2146e41f4b71Sopenharmony_ci 2147e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 2148e41f4b71Sopenharmony_ci 2149e41f4b71Sopenharmony_ci**Parameters** 2150e41f4b71Sopenharmony_ci 2151e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 2152e41f4b71Sopenharmony_ci | -------- | ----------------------- | ---- | ---------------------------------------- | 2153e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'serviceDie'**, which indicates unexpected termination of the **DeviceManager** service.| 2154e41f4b71Sopenharmony_ci | callback | () => void | Yes | Callback invoked when the **DeviceManager** service is unexpectedly terminated. | 2155e41f4b71Sopenharmony_ci 2156e41f4b71Sopenharmony_ci**Error codes** 2157e41f4b71Sopenharmony_ci 2158e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2159e41f4b71Sopenharmony_ci 2160e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 2166e41f4b71Sopenharmony_ci 2167e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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_ciUnsubscribes from dead events of the **DeviceManager** service. 2186e41f4b71Sopenharmony_ci 2187e41f4b71Sopenharmony_ci> **NOTE**<br>This API is deprecated since API version 11. Use [off('serviceDie')](js-apis-distributedDeviceManager.md#offservicedie) instead. 2188e41f4b71Sopenharmony_ci 2189e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_SERVICE_DM 2190e41f4b71Sopenharmony_ci 2191e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedHardware.DeviceManager 2192e41f4b71Sopenharmony_ci 2193e41f4b71Sopenharmony_ci**Parameters** 2194e41f4b71Sopenharmony_ci 2195e41f4b71Sopenharmony_ci | Name | Type | Mandatory | Description | 2196e41f4b71Sopenharmony_ci | -------- | ----------------------- | ---- | ---------------------------------------- | 2197e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value is **'serviceDie'**, which indicates unexpected termination of the **DeviceManager** service.| 2198e41f4b71Sopenharmony_ci | callback | () => void | No | Callback to unregister. | 2199e41f4b71Sopenharmony_ci 2200e41f4b71Sopenharmony_ci**Error codes** 2201e41f4b71Sopenharmony_ci 2202e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 2203e41f4b71Sopenharmony_ci 2204e41f4b71Sopenharmony_ci| ID | Error Message | 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**Example** 2210e41f4b71Sopenharmony_ci 2211e41f4b71Sopenharmony_ciFor details about how to initialize **dmInstance** in the example, see [deviceManager.createDeviceManager](#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 ``` 2224