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 | 设备选择模块多选模式。 |