# ä¸ºé€šçŸ¥æ·»åŠ è¡Œä¸ºæ„图 当å‘布通知时,如果期望用户å¯ä»¥é€šè¿‡ç‚¹å‡»é€šçŸ¥æ æ‹‰èµ·ç›®æ ‡åº”ç”¨ç»„ä»¶æˆ–å‘布公共事件,å¯ä»¥é€šè¿‡Ability Kit申请[WantAgent](../reference/apis-ability-kit/js-apis-app-ability-wantAgent.md)å°è£…至通知消æ¯ä¸ã€‚ **图1** æºå¸¦è¡Œä¸ºæ„图的通知è¿è¡Œæœºåˆ¶  ## 接å£è¯´æ˜Ž å…·ä½“æŽ¥å£æè¿°ï¼Œè¯¦è§[WantAgentæŽ¥å£æ–‡æ¡£](../reference/apis-ability-kit/js-apis-app-ability-wantAgent.md)。 | **接å£å** | **æè¿°** | | -------- | -------- | | getWantAgent(info: WantAgentInfo, callback: AsyncCallback<WantAgent>): void | 创建WantAgent。 | ## 开呿¥éª¤ 1. 导入模å—。 ```typescript import { notificationManager } from '@kit.NotificationKit'; import { wantAgent, WantAgent } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; const TAG: string = '[PublishOperation]'; const DOMAIN_NUMBER: number = 0xFF00; ``` 2. 创建WantAgentInfoä¿¡æ¯ã€‚ 场景一:创建拉起UIAbilityçš„WantAgentçš„[WantAgentInfo](../reference/apis-ability-kit/js-apis-inner-wantAgent-wantAgentInfo.md)ä¿¡æ¯ã€‚ ```typescript let wantAgentObj:WantAgent; // 用于ä¿å˜åˆ›å»ºæˆåŠŸçš„wantAgent对象,åŽç»ä½¿ç”¨å…¶å®Œæˆè§¦å‘的动作。 // 通过WantAgentInfoçš„operationType设置动作类型 let wantAgentInfo:wantAgent.WantAgentInfo = { wants: [ { deviceId: '', bundleName: 'com.samples.notification', abilityName: 'SecondAbility', action: '', entities: [], uri: '', parameters: {} } ], actionType: wantAgent.OperationType.START_ABILITY, requestCode: 0, wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG] }; ``` 场景二:创建å‘布[公共事件](../basic-services/common-event/common-event-overview.md)çš„WantAgentçš„[WantAgentInfo](../reference/apis-ability-kit/js-apis-inner-wantAgent-wantAgentInfo.md)ä¿¡æ¯ã€‚ ```typescript let wantAgentObj:WantAgent; // 用于ä¿å˜åˆ›å»ºæˆåŠŸçš„WantAgent对象,åŽç»ä½¿ç”¨å…¶å®Œæˆè§¦å‘的动作。 // 通过WantAgentInfoçš„operationType设置动作类型 let wantAgentInfo:wantAgent.WantAgentInfo = { wants: [ { action: 'event_name', // 设置事件å parameters: {}, } ], actionType: wantAgent.OperationType.SEND_COMMON_EVENT, requestCode: 0, wantAgentFlags: [wantAgent.WantAgentFlags.CONSTANT_FLAG], }; ``` 3. 调用[getWantAgent()](../reference/apis-ability-kit/js-apis-app-ability-wantAgent.md#wantagentgetwantagent)方法进行创建WantAgent。 ```typescript // 创建WantAgent wantAgent.getWantAgent(wantAgentInfo, (err: BusinessError, data:WantAgent) => { if (err) { hilog.error(DOMAIN_NUMBER, TAG, `Failed to get want agent. Code is ${err.code}, message is ${err.message}`); return; } hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in getting want agent.'); wantAgentObj = data; }); ``` 4. æž„é€ NotificationRequest对象,并å‘布WantAgent通知。 ```typescript // æž„é€ NotificationRequest对象 let notificationRequest: notificationManager.NotificationRequest = { content: { notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, normal: { title: 'Test_Title', text: 'Test_Text', additionalText: 'Test_AdditionalText', }, }, id: 6, label: 'TEST', // wantAgentObj使用å‰éœ€è¦ä¿è¯å·²è¢«èµ‹å€¼ï¼ˆå³æ¥éª¤3执行完æˆï¼‰ wantAgent: wantAgentObj, } notificationManager.publish(notificationRequest, (err: BusinessError) => { if (err) { hilog.error(DOMAIN_NUMBER, TAG, `Failed to publish notification. Code is ${err.code}, message is ${err.message}`); return; } hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in publishing notification.'); }); ``` 5. 用户通过点击通知æ 上的通知,系统会自动触å‘WantAgent的动作。