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