1.通知简介
任何应用都离不开通知,公司的应用涉及通知的地方有:应用内下载及进度,资讯通知,音频播放通知。所以在正式开始鸿蒙OS应用开发之前,通知相关的知识储备是必不可少的。
上图是鸿蒙通知架构图,我们只需要关注应用发送端即可,其他的都是鸿蒙系统自己处理的,只需稍微理解下即可。
2.通知的发送
2.1 通知的创建
let notificationRequest = {
id:1,
content:{
contentType:notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
normal:{
title:'我是通知标题_title',
text:'我是通知内容_text',
additionalText:'我的通知额外说明_additionalText'
}
},
label:'TEST',
wantAgent:wantAgentObj
}
2.2 通知意图
let wantAgentInfo = {
wants:[
{
deviceId: '', // deviceId为空表示本设备
bundleName: 'om.example.myapplication',
abilityName: 'NewsDetailAbility',
moduleName: 'entry', // moduleName非必选
// parameters: { // 自定义信息
// instanceKey: "ddf1132",
// },
}
],
operationType:wantAgent.OperationType.START_ABILITY,
requestCode:0,
wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG]
}
wantAgent.getWantAgent(wantAgentInfo,(err,data)=>{
if (err) {
console.error('[WantAgent]getWantAgent err=' + JSON.stringify(err));
} else {
console.info('[WantAgent]getWantAgent success');
wantAgentObj = data;
//拿到wantAgentObj 就可以发送通知
}
2.3 发送通知
notificationManager.publish(notificationRequest,(err) =>{
if (err) {
console.error(`[ANS] failed to publish, error[${err}]`);
return;
}
console.info(`[ANS] publish success`);
})