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