1# @ohos.wantAgent (WantAgent模块) 2 3WantAgent模块提供了创建WantAgent实例、获取实例的用户ID、获取want信息、比较WantAgent实例和获取bundle名称等能力。 4 5> **说明:** 6> 7> 本模块首批接口从API version 7开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.wantAgent](js-apis-app-ability-wantAgent.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import wantAgent from '@ohos.wantAgent'; 13``` 14 15## wantAgent.getWantAgent 16 17getWantAgent(info: WantAgentInfo, callback: AsyncCallback\<WantAgent\>): void 18 19创建WantAgent(callback形式)。 创建失败返回的WantAgent为空值。 20 21**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 22 23**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 24 25**参数:** 26 27| 参数名 | 类型 | 必填 | 说明 | 28| -------- | -------------------------- | ---- | ----------------------- | 29| info | [WantAgentInfo](js-apis-inner-wantAgent-wantAgentInfo.md) | 是 | WantAgent信息。 | 30| callback | AsyncCallback\<WantAgent\> | 是 | 创建WantAgent的回调方法。 | 31 32**示例:** 33 34```ts 35import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 36import { BusinessError } from '@ohos.base'; 37 38//getWantAgent回调 39function getWantAgentCallback(err: BusinessError, data: _WantAgent) { 40 if (err.code) { 41 console.info('getWantAgent Callback err:' + JSON.stringify(err)); 42 } else { 43 console.info('getWantAgent Callback success'); 44 } 45} 46 47wantAgent.getWantAgent({ 48 wants: [ 49 { 50 deviceId: 'deviceId', 51 bundleName: 'com.neu.setResultOnAbilityResultTest1', 52 abilityName: 'com.example.test.EntryAbility', 53 action: 'action1', 54 entities: ['entity1'], 55 type: 'MIMETYPE', 56 uri: 'key={true,true,false}', 57 parameters: 58 { 59 mykey0: 2222, 60 mykey1: [1, 2, 3], 61 mykey2: '[1, 2, 3]', 62 mykey3: 'ssssssssssssssssssssssssss', 63 mykey4: [false, true, false], 64 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 65 mykey6: true, 66 } 67 } 68 ], 69 operationType: wantAgent.OperationType.START_ABILITY, 70 requestCode: 0, 71 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 72}, getWantAgentCallback); 73``` 74 75## wantAgent.getWantAgent 76 77getWantAgent(info: WantAgentInfo): Promise\<WantAgent\> 78 79创建WantAgent(Promise形式)。 创建失败返回的WantAgent为空值。 80 81**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 82 83**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 84 85**参数:** 86 87| 参数名 | 类型 | 必填 | 说明 | 88| ---- | ------------- | ---- | ------------- | 89| info | [WantAgentInfo](js-apis-inner-wantAgent-wantAgentInfo.md) | 是 | WantAgent信息。 | 90 91**返回值:** 92 93| 类型 | 说明 | 94| ----------------------------------------------------------- | ------------------------------------------------------------ | 95| Promise\<WantAgent\> | 以Promise形式返回WantAgent。 | 96 97**示例:** 98 99```ts 100import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 101 102wantAgent.getWantAgent({ 103 wants: [ 104 { 105 deviceId: 'deviceId', 106 bundleName: 'com.neu.setResultOnAbilityResultTest1', 107 abilityName: 'com.example.test.EntryAbility', 108 action: 'action1', 109 entities: ['entity1'], 110 type: 'MIMETYPE', 111 uri: 'key={true,true,false}', 112 parameters: 113 { 114 mykey0: 2222, 115 mykey1: [1, 2, 3], 116 mykey2: '[1, 2, 3]', 117 mykey3: 'ssssssssssssssssssssssssss', 118 mykey4: [false, true, false], 119 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 120 mykey6: true, 121 } 122 } 123 ], 124 operationType: wantAgent.OperationType.START_ABILITY, 125 requestCode: 0, 126 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 127}).then((data: _WantAgent) => { 128 console.info('==========================>getWantAgentCallback=======================>'); 129}); 130``` 131 132## wantAgent.getBundleName 133 134getBundleName(agent: WantAgent, callback: AsyncCallback\<string\>): void 135 136获取WantAgent实例的Bundle名称(callback形式)。 137 138**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 139 140**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 141 142**参数:** 143 144| 参数名 | 类型 | 必填 | 说明 | 145| -------- | ----------------------- | ---- | --------------------------------- | 146| agent | WantAgent | 是 | WantAgent对象。 | 147| callback | AsyncCallback\<string\> | 是 | 获取WantAgent实例的包名的回调方法。 | 148 149**示例:** 150 151```ts 152import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 153import { BusinessError } from '@ohos.base'; 154 155//wantAgent对象 156let wantAgentObj: _WantAgent; 157 158//getWantAgent回调 159function getWantAgentCallback(err: BusinessError, data: _WantAgent) { 160 console.info('==========================>getWantAgentCallback=======================>'); 161 if (err.code == 0) { 162 wantAgentObj = data; 163 } else { 164 console.error('getWantAgent failed, error: ' + JSON.stringify(err)); 165 return; 166 } 167 168 //getBundleName回调 169 let getBundleNameCallback = (err: BusinessError, data: string) => { 170 console.info('==========================>getBundleNameCallback=======================>'); 171 } 172 wantAgent.getBundleName(wantAgentObj, getBundleNameCallback); 173} 174 175wantAgent.getWantAgent({ 176 wants: [ 177 { 178 deviceId: 'deviceId', 179 bundleName: 'com.neu.setResultOnAbilityResultTest1', 180 abilityName: 'com.example.test.EntryAbility', 181 action: 'action1', 182 entities: ['entity1'], 183 type: 'MIMETYPE', 184 uri: 'key={true,true,false}', 185 parameters: 186 { 187 mykey0: 2222, 188 mykey1: [1, 2, 3], 189 mykey2: '[1, 2, 3]', 190 mykey3: 'ssssssssssssssssssssssssss', 191 mykey4: [false, true, false], 192 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 193 mykey6: true, 194 } 195 } 196 ], 197 operationType: wantAgent.OperationType.START_ABILITY, 198 requestCode: 0, 199 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 200}, getWantAgentCallback); 201``` 202 203 204 205## wantAgent.getBundleName 206 207getBundleName(agent: WantAgent): Promise\<string\> 208 209获取WantAgent实例的Bundle名称(Promise形式)。 210 211**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 212 213**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 214 215**参数:** 216 217| 参数名 | 类型 | 必填 | 说明 | 218| ----- | --------- | ---- | ------------- | 219| agent | WantAgent | 是 | WantAgent对象。 | 220 221**返回值:** 222 223| 类型 | 说明 | 224| ----------------- | ------------------------------------------------ | 225| Promise\<string\> | 以Promise形式返回获取WantAgent实例的Bundle名称。 | 226 227**示例:** 228 229```ts 230import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 231 232//wantAgent对象 233let wantAgentObj: _WantAgent; 234 235wantAgent.getWantAgent({ 236 wants: [ 237 { 238 deviceId: 'deviceId', 239 bundleName: 'com.neu.setResultOnAbilityResultTest1', 240 abilityName: 'com.example.test.EntryAbility', 241 action: 'action1', 242 entities: ['entity1'], 243 type: 'MIMETYPE', 244 uri: 'key={true,true,false}', 245 parameters: 246 { 247 mykey0: 2222, 248 mykey1: [1, 2, 3], 249 mykey2: '[1, 2, 3]', 250 mykey3: 'ssssssssssssssssssssssssss', 251 mykey4: [false, true, false], 252 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 253 mykey6: true, 254 } 255 } 256 ], 257 operationType: wantAgent.OperationType.START_ABILITY, 258 requestCode: 0, 259 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 260}).then((data: _WantAgent) => { 261 console.info('==========================>getWantAgentCallback=======================>'); 262 wantAgentObj = data; 263 if (wantAgentObj) { 264 wantAgent.getBundleName(wantAgentObj).then((data) => { 265 console.info('==========================>getBundleNameCallback=======================>'); 266 }); 267 } 268}); 269``` 270 271 272 273## wantAgent.getUid 274 275getUid(agent: WantAgent, callback: AsyncCallback\<number\>): void 276 277获取WantAgent实例的用户ID(callback形式)。 278 279**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 280 281**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 282 283**参数:** 284 285| 参数名 | 类型 | 必填 | 说明 | 286| -------- | ----------------------- | ---- | ----------------------------------- | 287| agent | WantAgent | 是 | WantAgent对象。 | 288| callback | AsyncCallback\<number\> | 是 | 获取WantAgent实例的用户ID的回调方法。 | 289 290**示例:** 291 292```ts 293import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 294import { BusinessError } from '@ohos.base'; 295 296//wantAgent对象 297let wantAgentObj: _WantAgent; 298 299//getWantAgent回调 300function getWantAgentCallback(err: BusinessError, data: _WantAgent) { 301 console.info('==========================>getWantAgentCallback=======================>'); 302 if (err.code == 0) { 303 wantAgentObj = data; 304 } else { 305 console.error('getWantAgent failed, error: ' + JSON.stringify(err)); 306 return; 307 } 308 309 //getUid回调 310 let getUidCallback = (err: BusinessError, data: number) => { 311 console.info('==========================>getUidCallback=======================>'); 312 } 313 wantAgent.getUid(wantAgentObj, getUidCallback); 314} 315 316wantAgent.getWantAgent({ 317 wants: [ 318 { 319 deviceId: 'deviceId', 320 bundleName: 'com.neu.setResultOnAbilityResultTest1', 321 abilityName: 'com.example.test.EntryAbility', 322 action: 'action1', 323 entities: ['entity1'], 324 type: 'MIMETYPE', 325 uri: 'key={true,true,false}', 326 parameters: 327 { 328 mykey0: 2222, 329 mykey1: [1, 2, 3], 330 mykey2: '[1, 2, 3]', 331 mykey3: 'ssssssssssssssssssssssssss', 332 mykey4: [false, true, false], 333 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 334 mykey6: true, 335 } 336 } 337 ], 338 operationType: wantAgent.OperationType.START_ABILITY, 339 requestCode: 0, 340 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 341}, getWantAgentCallback); 342``` 343 344 345 346## wantAgent.getUid 347 348getUid(agent: WantAgent): Promise\<number\> 349 350获取WantAgent实例的用户ID(Promise形式)。 351 352**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 353 354**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 355 356**参数:** 357 358| 参数名 | 类型 | 必填 | 说明 | 359| ----- | --------- | ---- | ------------- | 360| agent | WantAgent | 是 | WantAgent对象。 | 361 362**返回值:** 363 364| 类型 | 说明 | 365| ----------------------------------------------------------- | ------------------------------------------------------------ | 366| Promise\<number\> | 以Promise形式返回获取WantAgent实例的用户ID。 | 367 368**示例:** 369 370```ts 371import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 372 373//wantAgent对象 374let wantAgentObj: _WantAgent; 375 376wantAgent.getWantAgent({ 377 wants: [ 378 { 379 deviceId: 'deviceId', 380 bundleName: 'com.neu.setResultOnAbilityResultTest1', 381 abilityName: 'com.example.test.EntryAbility', 382 action: 'action1', 383 entities: ['entity1'], 384 type: 'MIMETYPE', 385 uri: 'key={true,true,false}', 386 parameters: 387 { 388 mykey0: 2222, 389 mykey1: [1, 2, 3], 390 mykey2: '[1, 2, 3]', 391 mykey3: 'ssssssssssssssssssssssssss', 392 mykey4: [false, true, false], 393 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 394 mykey6: true, 395 } 396 } 397 ], 398 operationType: wantAgent.OperationType.START_ABILITY, 399 requestCode: 0, 400 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 401}).then((data) => { 402 console.info('==========================>getWantAgentCallback=======================>'); 403 wantAgentObj = data; 404 if (wantAgentObj) { 405 wantAgent.getUid(wantAgentObj).then((data) => { 406 console.info('==========================>getUidCallback=======================>'); 407 }); 408 } 409}); 410``` 411 412 413## wantAgent.cancel 414 415cancel(agent: WantAgent, callback: AsyncCallback\<void\>): void 416 417取消WantAgent实例(callback形式)。 418 419**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 420 421**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 422 423**参数:** 424 425| 参数名 | 类型 | 必填 | 说明 | 426| -------- | --------------------- | ---- | --------------------------- | 427| agent | WantAgent | 是 | WantAgent对象。 | 428| callback | AsyncCallback\<void\> | 是 | 取消WantAgent实例的回调方法。 | 429 430**示例:** 431 432```ts 433import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 434import { BusinessError } from '@ohos.base'; 435 436//wantAgent对象 437let wantAgentObj: _WantAgent; 438 439//getWantAgent回调 440function getWantAgentCallback(err: BusinessError, data: _WantAgent) { 441 console.info('==========================>getWantAgentCallback=======================>'); 442 if (err.code == 0) { 443 wantAgentObj = data; 444 } else { 445 console.error('getWantAgent failed, error: ' + JSON.stringify(err)); 446 return; 447 } 448 449 //cancel回调 450 let cancelCallback = (err: BusinessError) => { 451 console.info('==========================>cancelCallback=======================>'); 452 } 453 wantAgent.cancel(wantAgentObj, cancelCallback); 454} 455 456wantAgent.getWantAgent({ 457 wants: [ 458 { 459 deviceId: 'deviceId', 460 bundleName: 'com.neu.setResultOnAbilityResultTest1', 461 abilityName: 'com.example.test.EntryAbility', 462 action: 'action1', 463 entities: ['entity1'], 464 type: 'MIMETYPE', 465 uri: 'key={true,true,false}', 466 parameters: 467 { 468 mykey0: 2222, 469 mykey1: [1, 2, 3], 470 mykey2: '[1, 2, 3]', 471 mykey3: 'ssssssssssssssssssssssssss', 472 mykey4: [false, true, false], 473 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 474 mykey6: true, 475 } 476 } 477 ], 478 operationType: wantAgent.OperationType.START_ABILITY, 479 requestCode: 0, 480 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 481}, getWantAgentCallback); 482``` 483 484 485 486## wantAgent.cancel 487 488cancel(agent: WantAgent): Promise\<void\> 489 490取消WantAgent实例(Promise形式)。 491 492**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 493 494**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 495 496**参数:** 497 498| 参数名 | 类型 | 必填 | 说明 | 499| ----- | --------- | ---- | ------------- | 500| agent | WantAgent | 是 | WantAgent对象。 | 501 502**返回值:** 503 504| 类型 | 说明 | 505| --------------- | ------------------------------- | 506| Promise\<void\> | 以Promise形式获取异步返回结果。 | 507 508**示例:** 509 510```ts 511import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 512import { BusinessError } from '@ohos.base'; 513 514//wantAgent对象 515let wantAgentObj: _WantAgent; 516 517wantAgent.getWantAgent({ 518 wants: [ 519 { 520 deviceId: 'deviceId', 521 bundleName: 'com.neu.setResultOnAbilityResultTest1', 522 abilityName: 'com.example.test.EntryAbility', 523 action: 'action1', 524 entities: ['entity1'], 525 type: 'MIMETYPE', 526 uri: 'key={true,true,false}', 527 parameters: 528 { 529 mykey0: 2222, 530 mykey1: [1, 2, 3], 531 mykey2: '[1, 2, 3]', 532 mykey3: 'ssssssssssssssssssssssssss', 533 mykey4: [false, true, false], 534 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 535 mykey6: true, 536 } 537 } 538], 539 operationType: wantAgent.OperationType.START_ABILITY, 540 requestCode: 0, 541 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 542}).then((data) => { 543 console.info('==========================>getWantAgentCallback=======================>'); 544 wantAgentObj = data; 545 if (wantAgentObj) { 546 wantAgent.cancel(wantAgentObj).then((data) => { 547 console.info('==========================>cancelCallback=======================>'); 548 }); 549 } 550}); 551``` 552 553 554 555## wantAgent.trigger 556 557trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\<CompleteData\>): void 558 559主动激发WantAgent实例(callback形式)。 560 561**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 562 563**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 564 565**参数:** 566 567| 参数名 | 类型 | 必填 | 说明 | 568| ----------- | ----------------------------- | ---- | ------------------------------- | 569| agent | WantAgent | 是 | WantAgent对象。 | 570| triggerInfo | [TriggerInfo](js-apis-inner-wantAgent-triggerInfo.md) | 是 | TriggerInfo对象。 | 571| callback | Callback\<CompleteData\> | 否 | 主动激发WantAgent实例的回调方法。 | 572 573**示例:** 574 575```ts 576import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 577import { BusinessError } from '@ohos.base'; 578 579//wantAgent对象 580let wantAgentObj: _WantAgent; 581 582//getWantAgent回调 583function getWantAgentCallback(err: BusinessError, data: _WantAgent) { 584 console.info('==========================>getWantAgentCallback=======================>'); 585 if (err.code == 0) { 586 wantAgentObj = data; 587 } else { 588 console.error('getWantAgent failed, error: ' + JSON.stringify(err)); 589 return; 590 } 591 592 //trigger回调 593 let triggerCallback = (data: wantAgent.CompleteData) => { 594 console.info('==========================>triggerCallback=======================>'); 595 }; 596 597 wantAgent.trigger(wantAgentObj, {code:0}, triggerCallback); 598} 599 600wantAgent.getWantAgent({ 601 wants: [ 602 { 603 deviceId: 'deviceId', 604 bundleName: 'com.neu.setResultOnAbilityResultTest1', 605 abilityName: 'com.example.test.EntryAbility', 606 action: 'action1', 607 entities: ['entity1'], 608 type: 'MIMETYPE', 609 uri: 'key={true,true,false}', 610 parameters: 611 { 612 mykey0: 2222, 613 mykey1: [1, 2, 3], 614 mykey2: '[1, 2, 3]', 615 mykey3: 'ssssssssssssssssssssssssss', 616 mykey4: [false, true, false], 617 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 618 mykey6: true, 619 } 620 } 621 ], 622 operationType: wantAgent.OperationType.START_ABILITY, 623 requestCode: 0, 624 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 625}, getWantAgentCallback); 626``` 627 628 629 630## wantAgent.equal 631 632equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback\<boolean\>): void 633 634判断两个WantAgent实例是否相等(callback形式),以此来判断是否是来自同一应用的相同操作。 635 636**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 637 638**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 639 640**参数:** 641 642| 参数名 | 类型 | 必填 | 说明 | 643| ---------- | ------------------------ | ---- | --------------------------------------- | 644| agent | WantAgent | 是 | WantAgent对象。 | 645| otherAgent | WantAgent | 是 | WantAgent对象。 | 646| callback | AsyncCallback\<boolean\> | 是 | 判断两个WantAgent实例是否相等的回调方法。 | 647 648**示例:** 649 650```ts 651import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 652import { BusinessError } from '@ohos.base'; 653 654//wantAgent对象 655let wantAgentObj1: _WantAgent; 656let wantAgentObj2: _WantAgent; 657 658//getWantAgent回调 659function getWantAgentCallback(err: BusinessError, data: _WantAgent) { 660 console.info('==========================>getWantAgentCallback=======================>'); 661 if (err.code == 0) { 662 wantAgentObj1 = data; 663 wantAgentObj2 = data; 664 } else { 665 console.error('getWantAgent failed, error: ' + JSON.stringify(err)); 666 return; 667 } 668 669 //equal回调 670 let equalCallback = (err: BusinessError, data: boolean) => { 671 console.info('==========================>equalCallback=======================>'); 672 }; 673 wantAgent.equal(wantAgentObj1, wantAgentObj2, equalCallback); 674} 675 676wantAgent.getWantAgent({ 677 wants: [ 678 { 679 deviceId: 'deviceId', 680 bundleName: 'com.neu.setResultOnAbilityResultTest1', 681 abilityName: 'com.example.test.EntryAbility', 682 action: 'action1', 683 entities: ['entity1'], 684 type: 'MIMETYPE', 685 uri: 'key={true,true,false}', 686 parameters: 687 { 688 mykey0: 2222, 689 mykey1: [1, 2, 3], 690 mykey2: '[1, 2, 3]', 691 mykey3: 'ssssssssssssssssssssssssss', 692 mykey4: [false, true, false], 693 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 694 mykey6: true, 695 } 696 } 697 ], 698 operationType: wantAgent.OperationType.START_ABILITY, 699 requestCode: 0, 700 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 701}, getWantAgentCallback); 702``` 703 704 705 706## wantAgent.equal 707 708equal(agent: WantAgent, otherAgent: WantAgent): Promise\<boolean\> 709 710判断两个WantAgent实例是否相等(Promise形式),以此来判断是否是来自同一应用的相同操作。 711 712**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 713 714**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 715 716**参数:** 717 718| 参数名 | 类型 | 必填 | 说明 | 719| ---------- | --------- | ---- | ------------- | 720| agent | WantAgent | 是 | WantAgent对象。 | 721| otherAgent | WantAgent | 是 | WantAgent对象。 | 722 723**返回值:** 724 725| 类型 | 说明 | 726| ----------------------------------------------------------- | ------------------------------------------------------------ | 727| Promise\<boolean\> | 以Promise形式返回获取判断两个WantAgent实例是否相等的结果。 | 728 729**示例:** 730 731```ts 732import wantAgent, { WantAgent as _WantAgent } from '@ohos.wantAgent'; 733 734//wantAgent对象 735let wantAgentObj1: _WantAgent; 736let wantAgentObj2: _WantAgent; 737 738wantAgent.getWantAgent({ 739 wants: [ 740 { 741 deviceId: 'deviceId', 742 bundleName: 'com.neu.setResultOnAbilityResultTest1', 743 abilityName: 'com.example.test.EntryAbility', 744 action: 'action1', 745 entities: ['entity1'], 746 type: 'MIMETYPE', 747 uri: 'key={true,true,false}', 748 parameters: 749 { 750 mykey0: 2222, 751 mykey1: [1, 2, 3], 752 mykey2: '[1, 2, 3]', 753 mykey3: 'ssssssssssssssssssssssssss', 754 mykey4: [false, true, false], 755 mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], 756 mykey6: true, 757 } 758 } 759 ], 760 operationType: wantAgent.OperationType.START_ABILITY, 761 requestCode: 0, 762 wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 763}).then((data) => { 764 console.info('==========================>getWantAgentCallback=======================>'); 765 wantAgentObj1 = data; 766 wantAgentObj2 = data; 767 if (data) { 768 wantAgent.equal(wantAgentObj1, wantAgentObj2).then((data) => { 769 console.info('==========================>equalCallback=======================>'); 770 }); 771 } 772}); 773``` 774 775## WantAgentFlags 776 777**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 778 779**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 780 781| 名称 | 值 | 说明 | 782| ------------------- | -------------- | ------------------------------------------------------------ | 783| ONE_TIME_FLAG | 0 | WantAgent仅能使用一次。 | 784| NO_BUILD_FLAG | 1 | 如果说明WantAgent对象不存在,则不创建它,直接返回null。 | 785| CANCEL_PRESENT_FLAG | 2 | 在生成一个新的WantAgent对象前取消已存在的一个WantAgent对象。 | 786| UPDATE_PRESENT_FLAG | 3 | 使用新的WantAgent的额外数据替换已存在的WantAgent中的额外数据。 | 787| CONSTANT_FLAG | 4 | WantAgent是不可变的。 | 788| REPLACE_ELEMENT | 5 | 当前Want中的element属性可被WantAgent.trigger()中Want的element属性取代 | 789| REPLACE_ACTION | 6 | 当前Want中的action属性可被WantAgent.trigger()中Want的action属性取代 | 790| REPLACE_URI | 7 | 当前Want中的uri属性可被WantAgent.trigger()中Want的uri属性取代 | 791| REPLACE_ENTITIES | 8 | 当前Want中的entities属性可被WantAgent.trigger()中Want的entities属性取代 | 792| REPLACE_BUNDLE | 9 | 当前Want中的bundleName属性可被WantAgent.trigger()中Want的bundleName属性取代 | 793 794## OperationType 795 796**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 797 798**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 799 800| 名称 | 值 | 说明 | 801| ----------------- | ------------- | ------------------------- | 802| UNKNOWN_TYPE | 0 | 不识别的类型。 | 803| START_ABILITY | 1 | 开启一个有页面的Ability。 | 804| START_ABILITIES | 2 | 开启多个有页面的Ability。 | 805| START_SERVICE | 3 | 开启一个无页面的ability。 | 806| SEND_COMMON_EVENT | 4 | 发送一个公共事件。 | 807 808## CompleteData 809 810**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 811 812**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 813 814| 名称 | 类型 | 必填 | 说明 | 815| -------------- | ------------------------------ | ---- | ---------------------- | 816| info | WantAgent | 是 | 触发的wantAgent。 | 817| want | Want | 是 | 存在的被触发的want。 | 818| finalCode | number | 是 | 触发wantAgent的请求代码。| 819| finalData | string | 是 | 公共事件收集的最终数据。 | 820| extraInfo | { [key: string]: any } | 否 | 额外数据。 | 821