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