• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.continuation.continuationManager (continuationManager)
2
3continuationManager模块提供了流转/协同入口管理服务能力,包括连接/取消流转管理服务,注册/解注册设备连接变化监听,拉起设备选择模块,更新连接状态。
4
5本模块接口用于拉起系统中的设备选择模块,由于该模块功能暂不完备,因此流转能力整体暂不支持用于应用开发。
6
7> **说明:**
8>
9> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
10
11## 导入模块
12
13```ts
14import continuationManager from '@ohos.continuation.continuationManager'
15```
16
17## continuationManager.register<sup>(deprecated)</sup>
18
19register(callback: AsyncCallback\<number>): void;
20
21注册流转管理服务,并获取对应的注册token,无过滤条件,使用AsyncCallback方式作为异步方法。
22
23> 从API version 9开始不再维护,建议使用[registerContinuation](#continuationmanagerregistercontinuation9)替代。
24
25**系统能力**:SystemCapability.Ability.DistributedAbilityManager
26
27**参数:**
28
29  | 参数名 | 类型 | 必填 | 说明 |
30  | -------- | -------- | -------- | -------- |
31  | callback | AsyncCallback\<number> | 是 | AsyncCallback形式返回流转管理服务连接后生成的token。 |
32
33**错误码:**
34
35以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
36
37| 错误码ID | 错误信息 |
38| ------- | -------------------------------------------- |
39| 3 | Failed to flatten the object. |
40| 7 | The object is null. |
41| 29360207 | The number of registrations has reached the upper limit. |
42
43**示例:**
44
45  ```ts
46  let token = -1;
47  continuationManager.register((err, data) => {
48    if (err.code != 0) {
49      console.error('register failed, cause: ' + JSON.stringify(err));
50      return;
51    }
52    console.info('register finished, ' + JSON.stringify(data));
53    token = data;
54  });
55  ```
56
57## continuationManager.register<sup>(deprecated)</sup>
58
59register(options: ContinuationExtraParams, callback: AsyncCallback\<number>): void;
60
61连接流转管理服务,并获取对应的注册token,使用AsyncCallback方式作为异步方法。
62
63> 从API version 9开始不再维护,建议使用[registerContinuation](#continuationmanagerregistercontinuation9)替代。
64
65**系统能力**:SystemCapability.Ability.DistributedAbilityManager
66
67**参数:**
68
69  | 参数名 | 类型 | 必填 | 说明 |
70  | -------- | -------- | -------- | -------- |
71  | options | [ContinuationExtraParams](js-apis-continuation-continuationExtraParams.md) | 是 | 过滤可选择设备列表的额外参数。 |
72  | callback | AsyncCallback\<number> | 是 | AsyncCallback形式返回流转管理服务连接后生成的token。 |
73
74**错误码:**
75
76以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
77
78| 错误码ID | 错误信息 |
79| ------- | -------------------------------------------- |
80| 3 | Failed to flatten the object. |
81| 7 | The object is null. |
82| 29360207 | The number of registrations has reached the upper limit. |
83| 29360216 | Invalid continuation mode. |
84
85**示例:**
86
87  ```ts
88  let token = -1;
89  let continuationExtraParams = {
90    deviceType: ["00E"]
91  };
92  continuationManager.register(continuationExtraParams, (err, data) => {
93    if (err.code != 0) {
94      console.error('register failed, cause: ' + JSON.stringify(err));
95      return;
96    }
97    console.info('register finished, ' + JSON.stringify(data));
98    token = data;
99  });
100  ```
101
102## continuationManager.register<sup>(deprecated)</sup>
103
104register(options?: ContinuationExtraParams): Promise\<number>;
105
106连接流转管理服务,并获取对应的注册token,使用Promise方式作为异步方法。
107
108> 从API version 9开始不再维护,建议使用[registerContinuation](#continuationmanagerregistercontinuation9)替代。
109
110**系统能力**:SystemCapability.Ability.DistributedAbilityManager
111
112**参数:**
113
114  | 参数名 | 类型 | 必填 | 说明 |
115  | -------- | -------- | -------- | -------- |
116  | options | [ContinuationExtraParams](js-apis-continuation-continuationExtraParams.md) | 否 | 过滤可选择设备列表的额外参数,该参数可缺省|
117
118**返回值:**
119
120| 类型                        | 说明                 |
121| ------------------------- | ------------------ |
122| Promise\<number> | Promise形式返回流转管理服务连接后生成的token。 |
123
124**错误码:**
125
126以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
127
128| 错误码ID | 错误信息 |
129| ------- | -------------------------------------------- |
130| 3 | Failed to flatten the object |
131| 7 | The object is null. |
132| 29360207 | The number of registrations has reached the upper limit. |
133| 29360216 | Invalid continuation mode. |
134
135**示例:**
136
137  ```ts
138  let token = -1;
139  let continuationExtraParams = {
140    deviceType: ["00E"]
141  };
142  continuationManager.register(continuationExtraParams)
143    .then((data) => {
144      console.info('register finished, ' + JSON.stringify(data));
145      token = data;
146    })
147    .catch((err) => {
148      console.error('register failed, cause: ' + JSON.stringify(err));
149    });
150  ```
151
152## continuationManager.registerContinuation<sup>9+</sup>
153
154registerContinuation(callback: AsyncCallback\<number>): void;
155
156注册流转管理服务,并获取对应的注册token,无过滤条件,使用AsyncCallback方式作为异步方法。
157
158**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
159
160**系统能力**:SystemCapability.Ability.DistributedAbilityManager
161
162**参数:**
163
164  | 参数名 | 类型 | 必填 | 说明 |
165  | -------- | -------- | -------- | -------- |
166  | callback | AsyncCallback\<number> | 是 | AsyncCallback形式返回流转管理服务连接后生成的token。 |
167
168**错误码:**
169
170以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
171
172| 错误码ID | 错误信息 |
173| ------- | -------------------------------------------- |
174| 16600001 | The system ability works abnormally. |
175| 16600003 | The number of token registration times has reached the upper limit. |
176
177**示例:**
178
179  ```ts
180  let token = -1;
181  try {
182    continuationManager.registerContinuation((err, data) => {
183      if (err.code != 0) {
184        console.error('registerContinuation failed, cause: ' + JSON.stringify(err));
185        return;
186      }
187      console.info('registerContinuation finished, ' + JSON.stringify(data));
188      token = data;
189    });
190  } catch (err) {
191    console.error('registerContinuation failed, cause: ' + JSON.stringify(err));
192  }
193  ```
194
195## continuationManager.registerContinuation<sup>9+</sup>
196
197registerContinuation(options: ContinuationExtraParams, callback: AsyncCallback\<number>): void;
198
199连接流转管理服务,并获取对应的注册token,使用AsyncCallback方式作为异步方法。
200
201**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
202
203**系统能力**:SystemCapability.Ability.DistributedAbilityManager
204
205**参数:**
206
207  | 参数名 | 类型 | 必填 | 说明 |
208  | -------- | -------- | -------- | -------- |
209  | options | [ContinuationExtraParams](js-apis-continuation-continuationExtraParams.md) | 是 | 过滤可选择设备列表的额外参数。 |
210  | callback | AsyncCallback\<number> | 是 | AsyncCallback形式返回流转管理服务连接后生成的token。 |
211
212**错误码:**
213
214以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
215
216| 错误码ID | 错误信息 |
217| ------- | -------------------------------------------- |
218| 16600001 | The system ability works abnormally. |
219| 16600003 | The number of token registration times has reached the upper limit. |
220
221**示例:**
222
223  ```ts
224  let token = -1;
225  let continuationExtraParams = {
226    deviceType: ["00E"]
227  };
228  try {
229    continuationManager.registerContinuation(continuationExtraParams, (err, data) => {
230      if (err.code != 0) {
231        console.error('registerContinuation failed, cause: ' + JSON.stringify(err));
232        return;
233      }
234      console.info('registerContinuation finished, ' + JSON.stringify(data));
235      token = data;
236    });
237  } catch (err) {
238    console.error('registerContinuation failed, cause: ' + JSON.stringify(err));
239  }
240  ```
241
242## continuationManager.registerContinuation<sup>9+</sup>
243
244registerContinuation(options?: ContinuationExtraParams): Promise\<number>;
245
246连接流转管理服务,并获取对应的注册token,使用Promise方式作为异步方法。
247
248**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
249
250**系统能力**:SystemCapability.Ability.DistributedAbilityManager
251
252**参数:**
253
254  | 参数名 | 类型 | 必填 | 说明 |
255  | -------- | -------- | -------- | -------- |
256  | options | [ContinuationExtraParams](js-apis-continuation-continuationExtraParams.md) | 否 | 过滤可选择设备列表的额外参数,该参数可缺省|
257
258**返回值:**
259
260| 类型                        | 说明                 |
261| ------------------------- | ------------------ |
262| Promise\<number> | Promise形式返回流转管理服务连接后生成的token。 |
263
264**错误码:**
265
266以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
267
268| 错误码ID | 错误信息 |
269| ------- | -------------------------------------------- |
270| 16600001 | The system ability works abnormally. |
271| 16600003 | The number of token registration times has reached the upper limit. |
272
273**示例:**
274
275  ```ts
276  let token = -1;
277  let continuationExtraParams = {
278    deviceType: ["00E"]
279  };
280  try {
281    continuationManager.register(continuationExtraParams)
282      .then((data) => {
283        console.info('registerContinuation finished, ' + JSON.stringify(data));
284        token = data;
285      })
286      .catch((err) => {
287        console.error('registerContinuation failed, cause: ' + JSON.stringify(err));
288      });
289  } catch (err) {
290    console.error('registerContinuation failed, cause: ' + JSON.stringify(err));
291  }
292  ```
293
294
295## continuationManager.on("deviceConnect")<sup>(deprecated)</sup>
296
297on(type: "deviceConnect", callback: Callback\<ContinuationResult>): void;
298
299异步方法,监听设备连接状态,使用Callback形式返回连接的设备信息。
300
301> 从API version 9开始不再维护,建议使用[on](#continuationmanagerondeviceselected9)替代。
302
303**系统能力**:SystemCapability.Ability.DistributedAbilityManager
304
305**参数:**
306
307  | 参数名 | 类型 | 必填 | 说明 |
308  | -------- | -------- | -------- | -------- |
309  | type | string | 是 | 监听的事件类型,固定值"deviceConnect"。 |
310  | callback | Callback\<[ContinuationResult](js-apis-continuation-continuationResult.md)> | 是 | 当用户从设备选择模块中选择设备时调用,返回设备ID、设备类型和设备名称供开发者使用。 |
311
312**错误码:**
313
314以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
315
316| 错误码ID | 错误信息 |
317| ------- | -------------------------------------------- |
318| 3 | Failed to flatten the object |
319| 7 | The object is null | 7 |
320| 29360208 | The token is not registered. |
321| 29360209 | The callback has been registered. |
322| 29360214 | The type of callback is not supported. |
323
324**示例:**
325
326  ```ts
327  continuationManager.on("deviceConnect", (data) => {
328    console.info('onDeviceConnect deviceId: ' + JSON.stringify(data.id));
329    console.info('onDeviceConnect deviceType: ' + JSON.stringify(data.type));
330    console.info('onDeviceConnect deviceName: ' + JSON.stringify(data.name));
331  });
332  ```
333
334## continuationManager.on("deviceDisconnect")<sup>(deprecated)</sup>
335
336on(type: "deviceDisconnect", callback: Callback\<string>): void;
337
338异步方法,监听设备断开状态,使用Callback形式返回断开的设备信息。
339
340> 从API version 9开始不再维护,建议使用[on](#continuationmanagerondeviceunselected9)替代。
341
342**系统能力**:SystemCapability.Ability.DistributedAbilityManager
343
344**参数:**
345
346  | 参数名 | 类型 | 必填 | 说明 |
347  | -------- | -------- | -------- | -------- |
348  | type | string | 是 | 监听的事件类型,固定值"deviceDisconnect"。 |
349  | callback | Callback\<string> | 是 | 当用户从设备选择模块中断开设备时调用,返回设备ID供开发者使用。 |
350
351**错误码:**
352
353以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
354
355| 错误码ID | 错误信息 |
356| ------- | -------------------------------------------- |
357| 3 | Failed to flatten the object. |
358| 7 | The object is null. |
359| 29360208 | The token is not registered. |
360| 29360209 | The callback has been registered. |
361| 29360214 | The type of callback is not supported. |
362
363**示例:**
364
365  ```ts
366  continuationManager.on("deviceDisconnect", (data) => {
367    console.info('onDeviceDisconnect deviceId: ' + JSON.stringify(data));
368  });
369  ```
370
371## continuationManager.off("deviceConnect")<sup>(deprecated)</sup>
372
373off(type: "deviceConnect", callback?: Callback\<ContinuationResult>): void;
374
375异步方法,取消监听设备连接状态,使用Callback形式返回连接的设备信息。
376
377> 从API version 9开始不再维护,建议使用[off](#continuationmanageroffdeviceselected9)替代。
378
379**系统能力**:SystemCapability.Ability.DistributedAbilityManager
380
381**参数:**
382
383  | 参数名 | 类型 | 必填 | 说明 |
384  | -------- | -------- | -------- | -------- |
385  | type | string | 是 | 取消监听的事件类型,固定值"deviceConnect"。 |
386  | callback | Callback\<[ContinuationResult](js-apis-continuation-continuationResult.md)> | 否 | 当用户从设备选择模块中选择设备时调用,返回设备ID、设备类型和设备名称供开发者使用。 |
387
388**错误码:**
389
390以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
391
392| 错误码ID | 错误信息 |
393| ------- | -------------------------------------------- |
394| 3 | Failed to flatten the object. |
395| 7 | The object is null. |
396| 29360208 | The token is not registered. |
397| 29360210 | The callback is not registered. |
398| 29360214 | The type of callback is not supported. |
399
400**示例:**
401
402  ```ts
403  continuationManager.off("deviceConnect", (data) => {
404    console.info('onDeviceConnect deviceId: ' + JSON.stringify(data.id));
405    console.info('onDeviceConnect deviceType: ' + JSON.stringify(data.type));
406    console.info('onDeviceConnect deviceName: ' + JSON.stringify(data.name));
407  });
408  ```
409
410## continuationManager.off("deviceDisconnect")<sup>(deprecated)</sup>
411
412off(type: "deviceDisconnect", callback?: Callback\<string>): void;
413
414异步方法,取消监听设备断开状态,使用Callback形式返回连接的设备信息。
415
416> 从API version 9开始不再维护,建议使用[off](#continuationmanageroffdeviceunselected9)替代。
417
418**系统能力**:SystemCapability.Ability.DistributedAbilityManager
419
420**参数:**
421
422  | 参数名 | 类型 | 必填 | 说明 |
423  | -------- | -------- | -------- | -------- |
424  | type | string | 是 | 取消监听的事件类型,固定值"deviceDisconnect"。 |
425  | callback | Callback\<string> | 否 | 当用户从设备选择模块中断开设备时调用,返回设备ID供开发者使用。 |
426
427**错误码:**
428
429以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
430
431| 错误码ID | 错误信息 |
432| ------- | -------------------------------------------- |
433| 3 | Failed to flatten the object. |
434| 7 | The object is null. |
435| 29360208 | The token is not registered. |
436| 29360210 | The callback is not registered. |
437| 29360214 | The type of callback is not supported. |
438
439**示例:**
440
441  ```ts
442  continuationManager.off("deviceDisconnect", (data) => {
443    console.info('onDeviceDisconnect deviceId: ' + JSON.stringify(data));
444  });
445  ```
446
447## continuationManager.on("deviceSelected")<sup>9+</sup>
448
449on(type: "deviceSelected", token: number, callback: Callback\<Array\<ContinuationResult>>): void;
450
451异步方法,监听设备连接状态,使用Callback形式返回连接的设备信息。
452
453**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
454
455**系统能力**:SystemCapability.Ability.DistributedAbilityManager
456
457**参数:**
458
459  | 参数名 | 类型 | 必填 | 说明 |
460  | -------- | -------- | -------- | -------- |
461  | type | string | 是 | 监听的事件类型,固定值"deviceSelected"。 |
462  | token | number | 是 | 注册后的token。 |
463  | callback | Callback\<Array\<[ContinuationResult](js-apis-continuation-continuationResult.md)>> | 是 | 当用户从设备选择模块中选择设备时调用,返回设备ID、设备类型和设备名称供开发者使用。 |
464
465**错误码:**
466
467以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
468
469| 错误码ID | 错误信息 |
470| ------- | -------------------------------------------- |
471| 16600001 | The system ability works abnormally. |
472| 16600002 | The specified token or callback is not registered. |
473| 16600004 | The specified callback has been registered. |
474
475**示例:**
476
477  ```ts
478  let token = 1;
479  try {
480    continuationManager.on("deviceSelected", token, (data) => {
481      console.info('onDeviceSelected len: ' + data.length);
482      for (let i = 0; i < data.length; i++) {
483        console.info('onDeviceSelected deviceId: ' + JSON.stringify(data[i].id));
484        console.info('onDeviceSelected deviceType: ' + JSON.stringify(data[i].type));
485        console.info('onDeviceSelected deviceName: ' + JSON.stringify(data[i].name));
486      }
487    });
488  } catch (err) {
489    console.error('on failed, cause: ' + JSON.stringify(err));
490  }
491  ```
492
493## continuationManager.on("deviceUnselected")<sup>9+</sup>
494
495on(type: "deviceUnselected", token: number, callback: Callback\<Array\<ContinuationResult>>): void;
496
497异步方法,监听设备断开状态,使用Callback形式返回断开的设备信息。
498
499**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
500
501**系统能力**:SystemCapability.Ability.DistributedAbilityManager
502
503**参数:**
504
505  | 参数名 | 类型 | 必填 | 说明 |
506  | -------- | -------- | -------- | -------- |
507  | type | string | 是 | 监听的事件类型,固定值"deviceUnselected"。 |
508  | token | number | 是 | 注册后的token。 |
509  | callback | Callback\<Array\<[ContinuationResult](js-apis-continuation-continuationResult.md)>> | 是 | 当用户从设备选择模块中断开设备时调用,返回设备ID、设备类型和设备名称供开发者使用。 |
510
511**错误码:**
512
513以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
514
515| 错误码ID | 错误信息 |
516| ------- | -------------------------------------------- |
517| 16600001 | The system ability works abnormally. |
518| 16600002 | The specified token or callback is not registered. |
519| 16600004 | The specified callback has been registered. |
520
521**示例:**
522
523  ```ts
524  let token = 1;
525  try {
526    continuationManager.on("deviceUnselected", token, (data) => {
527      console.info('onDeviceUnselected len: ' + data.length);
528      for (let i = 0; i < data.length; i++) {
529        console.info('onDeviceUnselected deviceId: ' + JSON.stringify(data[i].id));
530        console.info('onDeviceUnselected deviceType: ' + JSON.stringify(data[i].type));
531        console.info('onDeviceUnselected deviceName: ' + JSON.stringify(data[i].name));
532      }
533      console.info('onDeviceUnselected finished.');
534    });
535  } catch (err) {
536    console.error('on failed, cause: ' + JSON.stringify(err));
537  }
538  ```
539
540## continuationManager.off("deviceSelected")<sup>9+</sup>
541
542off(type: "deviceSelected", token: number): void;
543
544取消监听设备连接状态。
545
546**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
547
548**系统能力**:SystemCapability.Ability.DistributedAbilityManager
549
550**参数:**
551
552  | 参数名 | 类型 | 必填 | 说明 |
553  | -------- | -------- | -------- | -------- |
554  | type | string | 是 | 取消监听的事件类型,固定值"deviceSelected"。 |
555  | token | number | 是 | 注册后的token。 |
556
557**错误码:**
558
559以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
560
561| 错误码ID | 错误信息 |
562| ------- | -------------------------------------------- |
563| 16600001 | The system ability works abnormally. |
564| 16600002 | The specified token or callback is not registered. |
565| 16600004 | The specified callback has been registered. |
566
567**示例:**
568
569  ```ts
570  let token = 1;
571  try {
572    continuationManager.off("deviceSelected", token);
573  } catch (err) {
574    console.error('off failed, cause: ' + JSON.stringify(err));
575  }
576  ```
577
578## continuationManager.off("deviceUnselected")<sup>9+</sup>
579
580off(type: "deviceUnselected", token: number): void;
581
582取消监听设备断开状态。
583
584**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
585
586**系统能力**:SystemCapability.Ability.DistributedAbilityManager
587
588**参数:**
589
590  | 参数名 | 类型 | 必填 | 说明 |
591  | -------- | -------- | -------- | -------- |
592  | type | string | 是 | 取消监听的事件类型,固定值"deviceUnselected"。 |
593  | token | number | 是 | 注册后的token。 |
594
595**错误码:**
596
597以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
598
599| 错误码ID | 错误信息 |
600| ------- | -------------------------------------------- |
601| 16600001 | The system ability works abnormally. |
602| 16600002 | The specified token or callback is not registered. |
603| 16600004 | The specified callback has been registered. |
604
605**示例:**
606
607  ```ts
608  let token = 1;
609  try {
610    continuationManager.off("deviceUnselected", token);
611  } catch (err) {
612    console.error('off failed, cause: ' + JSON.stringify(err));
613  }
614  ```
615
616## continuationManager.startDeviceManager<sup>(deprecated)</sup>
617
618startDeviceManager(token: number, callback: AsyncCallback\<void>): void;
619
620拉起设备选择模块,可显示组网内可选择设备列表信息,无过滤条件,使用AsyncCallback方式作为异步方法。
621
622> 从API version 9开始不再维护,建议使用[startContinuationDeviceManager](#continuationmanagerstartcontinuationdevicemanager9)替代。
623
624**系统能力**:SystemCapability.Ability.DistributedAbilityManager
625
626**参数:**
627
628  | 参数名 | 类型 | 必填 | 说明 |
629  | -------- | -------- | -------- | -------- |
630  | token | number | 是 | 注册后的token。 |
631  | callback | AsyncCallback\<void> | 是 | AsyncCallback形式返回接口调用结果。 |
632
633**错误码:**
634
635以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
636
637| 错误码ID | 错误信息 |
638| ------- | -------------------------------------------- |
639| 3 | Failed to flatten the object. |
640| 7 | The object is null. |
641| 29360208 | The token is not registered. |
642| 29360210 | The callback is not registered. |
643| 29360211 | Failed to connect to the ability. |
644| 29360216 | Invalid continuation mode. |
645
646**示例:**
647
648  ```ts
649  let token = 1;
650  continuationManager.startDeviceManager(token, (err, data) => {
651    if (err.code != 0) {
652      console.error('startDeviceManager failed, cause: ' + JSON.stringify(err));
653      return;
654    }
655    console.info('startDeviceManager finished, ' + JSON.stringify(data));
656  });
657  ```
658
659## continuationManager.startDeviceManager<sup>(deprecated)</sup>
660
661startDeviceManager(token: number, options: ContinuationExtraParams, callback: AsyncCallback\<void>): void;
662
663拉起设备选择模块,可显示组网内可选择设备列表信息,使用AsyncCallback方式作为异步方法。
664
665> 从API version 9开始不再维护,建议使用[startContinuationDeviceManager](#continuationmanagerstartcontinuationdevicemanager9)替代。
666
667**系统能力**:SystemCapability.Ability.DistributedAbilityManager
668
669**参数:**
670
671  | 参数名 | 类型 | 必填 | 说明 |
672  | -------- | -------- | -------- | -------- |
673  | token | number | 是 | 注册后的token。 |
674  | options | [ContinuationExtraParams](js-apis-continuation-continuationExtraParams.md) | 是 | 过滤可选择设备列表的额外参数。 |
675  | callback | AsyncCallback\<void> | 是 | AsyncCallback形式返回接口调用结果。 |
676
677**错误码:**
678
679以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
680
681| 错误码ID | 错误信息 |
682| ------- | -------------------------------------------- |
683| 3 | Failed to flatten the object |
684| 7 | The object is null |
685| 29360208 | The token is not registered. |
686| 29360210 | The callback is not registered. |
687| 29360211 | Failed to connect to the ability. |
688| 29360216 | Invalid continuation mode. |
689
690**示例:**
691
692  ```ts
693  let token = 1;
694  let continuationExtraParams = {
695    deviceType: ["00E"]
696  };
697  continuationManager.startDeviceManager(token, continuationExtraParams, (err, data) => {
698    if (err.code != 0) {
699      console.error('startDeviceManager failed, cause: ' + JSON.stringify(err));
700      return;
701    }
702    console.info('startDeviceManager finished, ' + JSON.stringify(data));
703  });
704  ```
705
706## continuationManager.startDeviceManager<sup>(deprecated)</sup>
707
708startDeviceManager(token: number, options?: ContinuationExtraParams): Promise\<void>;
709
710拉起设备选择模块,可显示组网内可选择设备列表信息,使用Promise方式作为异步方法。
711
712> 从API version 9开始不再维护,建议使用[startContinuationDeviceManager](#continuationmanagerstartcontinuationdevicemanager9)替代。
713
714**系统能力**:SystemCapability.Ability.DistributedAbilityManager
715
716**参数:**
717
718  | 参数名 | 类型 | 必填 | 说明 |
719  | -------- | -------- | -------- | -------- |
720  | token | number | 是 | 注册后的token。 |
721  | options | [ContinuationExtraParams](js-apis-continuation-continuationExtraParams.md) | 否 | 过滤可选择设备列表的额外参数,该参数可缺省|
722
723**返回值:**
724
725| 类型                        | 说明                 |
726| ------------------------- | ------------------ |
727| Promise\<void> | Promise形式返回接口调用结果。 |
728
729**错误码:**
730
731以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
732
733| 错误码ID | 错误信息 |
734| ------- | -------------------------------------------- |
735| 3 | Failed to flatten the object |
736| 7 | The object is null |
737| 29360208 | The token is not registered. |
738| 29360210 | The callback is not registered. |
739| 29360211 | Failed to connect to the ability. |
740| 29360216 | Invalid continuation mode. |
741
742**示例:**
743
744  ```ts
745  let token = 1;
746  let continuationExtraParams = {
747    deviceType: ["00E"]
748  };
749  continuationManager.startDeviceManager(token, continuationExtraParams)
750    .then((data) => {
751      console.info('startDeviceManager finished, ' + JSON.stringify(data));
752    })
753    .catch((err) => {
754      console.error('startDeviceManager failed, cause: ' + JSON.stringify(err));
755    });
756  ```
757
758## continuationManager.startContinuationDeviceManager<sup>9+</sup>
759
760startContinuationDeviceManager(token: number, callback: AsyncCallback\<void>): void;
761
762拉起设备选择模块,可显示组网内可选择设备列表信息,无过滤条件,使用AsyncCallback方式作为异步方法。
763
764**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
765
766**系统能力**:SystemCapability.Ability.DistributedAbilityManager
767
768**参数:**
769
770  | 参数名 | 类型 | 必填 | 说明 |
771  | -------- | -------- | -------- | -------- |
772  | token | number | 是 | 注册后的token。 |
773  | callback | AsyncCallback\<void> | 是 | AsyncCallback形式返回接口调用结果。 |
774
775**错误码:**
776
777以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
778
779| 错误码ID | 错误信息 |
780| ------- | -------------------------------------------- |
781| 16600001 | The system ability works abnormally. |
782| 16600002 | The specified token or callback is not registered. |
783
784**示例:**
785
786  ```ts
787  let token = 1;
788  try {
789    continuationManager.startContinuationDeviceManager(token, (err, data) => {
790      if (err.code != 0) {
791        console.error('startContinuationDeviceManager failed, cause: ' + JSON.stringify(err));
792        return;
793      }
794      console.info('startContinuationDeviceManager finished, ' + JSON.stringify(data));
795    });
796  } catch (err) {
797    console.error('startContinuationDeviceManager failed, cause: ' + JSON.stringify(err));
798  }
799  ```
800
801## continuationManager.startContinuationDeviceManager<sup>9+</sup>
802
803startContinuationDeviceManager(token: number, options: ContinuationExtraParams, callback: AsyncCallback\<void>): void;
804
805拉起设备选择模块,可显示组网内可选择设备列表信息,使用AsyncCallback方式作为异步方法。
806
807**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
808
809**系统能力**:SystemCapability.Ability.DistributedAbilityManager
810
811**参数:**
812
813  | 参数名 | 类型 | 必填 | 说明 |
814  | -------- | -------- | -------- | -------- |
815  | token | number | 是 | 注册后的token。 |
816  | options | [ContinuationExtraParams](js-apis-continuation-continuationExtraParams.md) | 是 | 过滤可选择设备列表的额外参数。 |
817  | callback | AsyncCallback\<void> | 是 | AsyncCallback形式返回接口调用结果。 |
818
819**错误码:**
820
821以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
822
823| 错误码ID | 错误信息 |
824| ------- | -------------------------------------------- |
825| 16600001 | The system ability works abnormally. |
826| 16600002 | The specified token or callback is not registered. |
827
828**示例:**
829
830  ```ts
831  let token = 1;
832  let continuationExtraParams = {
833    deviceType: ["00E"]
834  };
835  try {
836    continuationManager.startContinuationDeviceManager(token, continuationExtraParams, (err, data) => {
837      if (err.code != 0) {
838        console.error('startContinuationDeviceManager failed, cause: ' + JSON.stringify(err));
839        return;
840      }
841      console.info('startContinuationDeviceManager finished, ' + JSON.stringify(data));
842    });
843  } catch (err) {
844    console.error('startContinuationDeviceManager failed, cause: ' + JSON.stringify(err));
845  }
846  ```
847
848## continuationManager.startContinuationDeviceManager<sup>9+</sup>
849
850startContinuationDeviceManager(token: number, options?: ContinuationExtraParams): Promise\<void>;
851
852拉起设备选择模块,可显示组网内可选择设备列表信息,使用Promise方式作为异步方法。
853
854**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
855
856**系统能力**:SystemCapability.Ability.DistributedAbilityManager
857
858**参数:**
859
860  | 参数名 | 类型 | 必填 | 说明 |
861  | -------- | -------- | -------- | -------- |
862  | token | number | 是 | 注册后的token。 |
863  | options | [ContinuationExtraParams](js-apis-continuation-continuationExtraParams.md) | 否 | 过滤可选择设备列表的额外参数,该参数可缺省|
864
865**返回值:**
866
867| 类型                        | 说明                 |
868| ------------------------- | ------------------ |
869| Promise\<void> | Promise形式返回接口调用结果。 |
870
871**错误码:**
872
873以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
874
875| 错误码ID | 错误信息 |
876| ------- | -------------------------------------------- |
877| 16600001 | The system ability works abnormally. |
878| 16600002 | The specified token or callback is not registered. |
879
880**示例:**
881
882  ```ts
883  let token = 1;
884  let continuationExtraParams = {
885    deviceType: ["00E"]
886  };
887  try {
888    continuationManager.startContinuationDeviceManager(token, continuationExtraParams)
889      .then((data) => {
890        console.info('startContinuationDeviceManager finished, ' + JSON.stringify(data));
891      })
892      .catch((err) => {
893        console.error('startContinuationDeviceManager failed, cause: ' + JSON.stringify(err));
894      });
895  } catch (err) {
896    console.error('startContinuationDeviceManager failed, cause: ' + JSON.stringify(err));
897  }
898  ```
899
900## continuationManager.updateConnectStatus<sup>(deprecated)</sup>
901
902updateConnectStatus(token: number, deviceId: string, status: DeviceConnectState, callback: AsyncCallback\<void>): void;
903
904通知设备选择模块,更新当前的连接状态,使用AsyncCallback方式作为异步方法。
905
906> 从API version 9开始不再维护,建议使用[updateContinuationState](#continuationmanagerupdatecontinuationstate9)替代。
907
908**系统能力**:SystemCapability.Ability.DistributedAbilityManager
909
910**参数:**
911
912  | 参数名 | 类型 | 必填 | 说明 |
913  | -------- | -------- | -------- | -------- |
914  | token | number | 是 | 注册后的token。 |
915  | deviceId | string | 是 | 设备ID。 |
916  | status | [DeviceConnectState](#deviceconnectstate) | 是 | 设备连接状态。 |
917  | callback | AsyncCallback\<void> | 是 | AsyncCallback形式返回接口调用结果。 |
918
919**错误码:**
920
921以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
922
923| 错误码ID | 错误信息 |
924| ------- | -------------------------------------------- |
925| 3 | Failed to flatten the object. |
926| 7 | The object is null. |
927| 29360208 | The token is not registered. |
928| 29360210 | The callback is not registered. |
929| 29360211 | Failed to connect to the ability. |
930| 29360215 | Invalid connection state. |
931
932**示例:**
933
934  ```ts
935  let token = 1;
936  let deviceId: string = "test deviceId";
937  continuationManager.updateConnectStatus(token, deviceId, continuationManager.DeviceConnectState.CONNECTED, (err, data) => {
938    if (err.code != 0) {
939      console.error('updateConnectStatus failed, cause: ' + JSON.stringify(err));
940      return;
941    }
942    console.info('updateConnectStatus finished, ' + JSON.stringify(data));
943  });
944  ```
945
946## continuationManager.updateConnectStatus<sup>(deprecated)</sup>
947
948updateConnectStatus(token: number, deviceId: string, status: DeviceConnectState): Promise\<void>;
949
950通知设备选择模块,更新当前的连接状态,使用Promise方式作为异步方法。
951
952> 从API version 9开始不再维护,建议使用[updateContinuationState](#continuationmanagerupdatecontinuationstate9)替代。
953
954**系统能力**:SystemCapability.Ability.DistributedAbilityManager
955
956**参数:**
957
958  | 参数名 | 类型 | 必填 | 说明 |
959  | -------- | -------- | -------- | -------- |
960  | token | number | 是 | 注册后的token。 |
961  | deviceId | string | 是 | 设备ID。 |
962  | status | [DeviceConnectState](#deviceconnectstate) | 是 | 设备连接状态。 |
963
964**返回值:**
965
966| 类型                        | 说明                 |
967| ------------------------- | ------------------ |
968| Promise\<void> | Promise形式返回接口调用结果。 |
969
970**错误码:**
971
972以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
973
974| 错误码ID | 错误信息 |
975| ------- | -------------------------------------------- |
976| 3 | Failed to flatten the object. |
977| 7 | The object is null. |
978| 29360208 | The token is not registered. |
979| 29360210 | The callback is not registered. |
980| 29360211 | Failed to connect to the ability. |
981| 29360215 | Invalid connection state. |
982
983**示例:**
984
985  ```ts
986  let token = 1;
987  let deviceId: string = "test deviceId";
988  continuationManager.updateConnectStatus(token, deviceId, continuationManager.DeviceConnectState.CONNECTED)
989    .then((data) => {
990      console.info('updateConnectStatus finished, ' + JSON.stringify(data));
991    })
992    .catch((err) => {
993      console.error('updateConnectStatus failed, cause: ' + JSON.stringify(err));
994    });
995  ```
996
997## continuationManager.updateContinuationState<sup>9+</sup>
998
999updateContinuationState(token: number, deviceId: string, status: DeviceConnectState, callback: AsyncCallback\<void>): void;
1000
1001通知设备选择模块,更新当前的连接状态,使用AsyncCallback方式作为异步方法。
1002
1003**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
1004
1005**系统能力**:SystemCapability.Ability.DistributedAbilityManager
1006
1007**参数:**
1008
1009  | 参数名 | 类型 | 必填 | 说明 |
1010  | -------- | -------- | -------- | -------- |
1011  | token | number | 是 | 注册后的token。 |
1012  | deviceId | string | 是 | 设备ID。 |
1013  | status | [DeviceConnectState](#deviceconnectstate) | 是 | 设备连接状态。 |
1014  | callback | AsyncCallback\<void> | 是 | AsyncCallback形式返回接口调用结果。 |
1015
1016**错误码:**
1017
1018以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
1019
1020| 错误码ID | 错误信息 |
1021| ------- | -------------------------------------------- |
1022| 16600001 | The system ability works abnormally. |
1023| 16600002 | The specified token or callback is not registered. |
1024
1025**示例:**
1026
1027  ```ts
1028  let token = 1;
1029  let deviceId: string = "test deviceId";
1030  try {
1031    continuationManager.updateContinuationState(token, deviceId, continuationManager.DeviceConnectState.CONNECTED, (err, data) => {
1032      if (err.code != 0) {
1033        console.error('updateContinuationState failed, cause: ' + JSON.stringify(err));
1034        return;
1035      }
1036      console.info('updateContinuationState finished, ' + JSON.stringify(data));
1037    });
1038  } catch (err) {
1039    console.error('updateContinuationState failed, cause: ' + JSON.stringify(err));
1040  }
1041  ```
1042
1043## continuationManager.updateContinuationState<sup>9+</sup>
1044
1045updateContinuationState(token: number, deviceId: string, status: DeviceConnectState): Promise\<void>;
1046
1047通知设备选择模块,更新当前的连接状态,使用Promise方式作为异步方法。
1048
1049**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
1050
1051**系统能力**:SystemCapability.Ability.DistributedAbilityManager
1052
1053**参数:**
1054
1055  | 参数名 | 类型 | 必填 | 说明 |
1056  | -------- | -------- | -------- | -------- |
1057  | token | number | 是 | 注册后的token。 |
1058  | deviceId | string | 是 | 设备ID。 |
1059  | status | [DeviceConnectState](#deviceconnectstate) | 是 | 设备连接状态。 |
1060
1061**返回值:**
1062
1063| 类型                        | 说明                 |
1064| ------------------------- | ------------------ |
1065| Promise\<void> | Promise形式返回接口调用结果。 |
1066
1067**错误码:**
1068
1069以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
1070
1071| 错误码ID | 错误信息 |
1072| ------- | -------------------------------------------- |
1073| 16600001 | The system ability works abnormally. |
1074| 16600002 | The specified token or callback is not registered. |
1075
1076**示例:**
1077
1078  ```ts
1079  let token = 1;
1080  let deviceId: string = "test deviceId";
1081  try {
1082    continuationManager.updateContinuationState(token, deviceId, continuationManager.DeviceConnectState.CONNECTED)
1083      .then((data) => {
1084        console.info('updateContinuationState finished, ' + JSON.stringify(data));
1085      })
1086      .catch((err) => {
1087        console.error('updateContinuationState failed, cause: ' + JSON.stringify(err));
1088      });
1089  } catch (err) {
1090    console.error('updateContinuationState failed, cause: ' + JSON.stringify(err));
1091  }
1092  ```
1093
1094
1095## continuationManager.unregister<sup>(deprecated)</sup>
1096
1097unregister(token: number, callback: AsyncCallback\<void>): void;
1098
1099解注册流转管理服务,传入注册时获取的token进行解注册,使用AsyncCallback方式作为异步方法。
1100
1101> 从API version 9开始不再维护,建议使用[unregisterContinuation](#continuationmanagerunregistercontinuation9)替代。
1102
1103**系统能力**:SystemCapability.Ability.DistributedAbilityManager
1104
1105**参数:**
1106
1107  | 参数名 | 类型 | 必填 | 说明 |
1108  | -------- | -------- | -------- | -------- |
1109  | token | number | 是 | 注册后的token。 |
1110  | callback | AsyncCallback\<void> | 是 | AsyncCallback形式返回接口调用结果。 |
1111
1112**错误码:**
1113
1114以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
1115
1116| 错误码ID | 错误信息 |
1117| ------- | -------------------------------------------- |
1118| 3 | Failed to flatten the object. |
1119| 7 | The object is null. |
1120| 29360208 | The token is not registered. |
1121
1122**示例:**
1123
1124  ```ts
1125  let token = 1;
1126  continuationManager.unregister(token, (err, data) => {
1127    if (err.code != 0) {
1128      console.error('unregister failed, cause: ' + JSON.stringify(err));
1129      return;
1130    }
1131    console.info('unregister finished, ' + JSON.stringify(data));
1132  });
1133  ```
1134
1135## continuationManager.unregister<sup>(deprecated)</sup>
1136
1137unregister(token: number): Promise\<void>;
1138
1139解注册流转管理服务,传入注册时获取的token进行解注册,使用Promise方式作为异步方法。
1140
1141> 从API version 9开始不再维护,建议使用[unregisterContinuation](#continuationmanagerunregistercontinuation9)替代。
1142
1143**系统能力**:SystemCapability.Ability.DistributedAbilityManager
1144
1145**参数:**
1146
1147  | 参数名 | 类型 | 必填 | 说明 |
1148  | -------- | -------- | -------- | -------- |
1149  | token | number | 是 | 注册后的token。 |
1150
1151**返回值:**
1152
1153| 类型                        | 说明                 |
1154| ------------------------- | ------------------ |
1155| Promise\<void> | Promise形式返回接口调用结果。 |
1156
1157**错误码:**
1158
1159以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
1160
1161| 错误码ID | 错误信息 |
1162| ------- | -------------------------------------------- |
1163| 3 | Failed to flatten the object. |
1164| 7 | The object is null. |
1165| 29360208 | The token is not registered. |
1166
1167**示例:**
1168
1169  ```ts
1170  let token = 1;
1171  continuationManager.unregister(token)
1172    .then((data) => {
1173      console.info('unregister finished, ' + JSON.stringify(data));
1174    })
1175    .catch((err) => {
1176      console.error('unregister failed, cause: ' + JSON.stringify(err));
1177    });
1178  ```
1179
1180## continuationManager.unregisterContinuation<sup>9+</sup>
1181
1182unregisterContinuation(token: number, callback: AsyncCallback\<void>): void;
1183
1184解注册流转管理服务,传入注册时获取的token进行解注册,使用AsyncCallback方式作为异步方法。
1185
1186**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
1187
1188**系统能力**:SystemCapability.Ability.DistributedAbilityManager
1189
1190**参数:**
1191
1192  | 参数名 | 类型 | 必填 | 说明 |
1193  | -------- | -------- | -------- | -------- |
1194  | token | number | 是 | 注册后的token。 |
1195  | callback | AsyncCallback\<void> | 是 | AsyncCallback形式返回接口调用结果。 |
1196
1197**错误码:**
1198
1199以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
1200
1201| 错误码ID | 错误信息 |
1202| ------- | -------------------------------------------- |
1203| 16600001 | The system ability works abnormally. |
1204| 16600002 | The specified token or callback is not registered. |
1205
1206**示例:**
1207
1208  ```ts
1209  let token = 1;
1210  try {
1211    continuationManager.unregisterContinuation(token, (err, data) => {
1212      if (err.code != 0) {
1213        console.error('unregisterContinuation failed, cause: ' + JSON.stringify(err));
1214        return;
1215      }
1216      console.info('unregisterContinuation finished, ' + JSON.stringify(data));
1217    });
1218  } catch (err) {
1219    console.error('unregisterContinuation failed, cause: ' + JSON.stringify(err));
1220  }
1221  ```
1222
1223## continuationManager.unregisterContinuation<sup>9+</sup>
1224
1225unregisterContinuation(token: number): Promise\<void>;
1226
1227解注册流转管理服务,传入注册时获取的token进行解注册,使用Promise方式作为异步方法。
1228
1229**需要权限**:ohos.permission.DISTRIBUTED_DATASYNC
1230
1231**系统能力**:SystemCapability.Ability.DistributedAbilityManager
1232
1233**参数:**
1234
1235  | 参数名 | 类型 | 必填 | 说明 |
1236  | -------- | -------- | -------- | -------- |
1237  | token | number | 是 | 注册后的token。 |
1238
1239**返回值:**
1240
1241| 类型                        | 说明                 |
1242| ------------------------- | ------------------ |
1243| Promise\<void> | Promise形式返回接口调用结果。 |
1244
1245**错误码:**
1246
1247以下错误码的详细介绍请参见[分布式调度错误码](../errorcodes/errorcode-DistributedSchedule.md)。
1248
1249| 错误码ID | 错误信息 |
1250| ------- | -------------------------------------------- |
1251| 16600001 | The system ability works abnormally. |
1252| 16600002 | The specified token or callback is not registered. |
1253
1254**示例:**
1255
1256  ```ts
1257  let token = 1;
1258  try {
1259    continuationManager.unregisterContinuation(token)
1260      .then((data) => {
1261        console.info('unregisterContinuation finished, ' + JSON.stringify(data));
1262      })
1263      .catch((err) => {
1264        console.error('unregisterContinuation failed, cause: ' + JSON.stringify(err));
1265      });
1266  } catch (err) {
1267    console.error('unregisterContinuation failed, cause: ' + JSON.stringify(err));
1268  }
1269  ```
1270
1271
1272## DeviceConnectState
1273
1274设备连接状态。
1275
1276**系统能力**:SystemCapability.Ability.DistributedAbilityManager
1277
1278| 名称 | 值 | 说明 |
1279| -------- | -------- | -------- |
1280| IDLE | 0 | 设备连接初始状态。 |
1281| CONNECTING | 1 | 设备连接中状态。 |
1282| CONNECTED | 2 | 设备已连接状态。 |
1283| DISCONNECTING | 3 | 设备断开连接状态。 |
1284
1285## ContinuationMode
1286
1287设备选择模块连接模式。
1288
1289**系统能力**:SystemCapability.Ability.DistributedAbilityManager
1290
1291| 名称 | 值 | 说明 |
1292| -------- | -------- | -------- |
1293| COLLABORATION_SINGLE | 0 | 设备选择模块单选模式。 |
1294| COLLABORATION_MULTIPLE | 1 | 设备选择模块多选模式。 |