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