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