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