HarmonyOS 鸿蒙Next notificationManager实现消息通知发送,通知栏,横幅弹出(提示音,震动)
HarmonyOS 鸿蒙Next notificationManager实现消息通知发送,通知栏,横幅弹出(提示音,震动)
import { notificationManager } from ‘@kit.NotificationKit’;
import { TAG } from ‘@ohos/hypium/src/main/Constant’;
import { BusinessError } from ‘@kit.BasicServicesKit’;
@Entry
@Component
struct Index3 {
build(){
Column(){
Button(‘发送通知1’)
.width(‘50%’)
.margin({bottom:10})
.onClick(() => {
publishNotification(“test”,“111”,1)
})
Button(‘发送通知2’)
.width(‘50%’)
.margin({bottom:10})
.onClick(() => {
publishNotification(“test2”,“222”,2)
})
Button(‘发送通知3’)
.width(‘50%’)
.margin({bottom:10})
.onClick(() => {
publishNotification(“test3”,“333”,3)
})
}
.margin({top:100,left:20})
}
}
function publishNotification(title: string, content: string, pushId: number) {
let notificationRequest: notificationManager.NotificationRequest = {
content: {
notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
normal: { title: title, text: content, },
},
notificationSlotType: notificationManager.SlotType.SOCIAL_COMMUNICATION, //通道类型
id: pushId, //通知ID,默认为0
deliveryTime: Date.now(), //通知发送时间
showDeliveryTime: true, //是否显示分发时间
label: ‘Avatr’, //通知标签
};
let addSlotCallBack = (err: BusinessError): void => {
if (err) {
console.error(addSlot failed, code is ${err.code}, message is ${err.message}
);
} else {
}
}
notificationManager.addSlot(notificationManager.SlotType.SOCIAL_COMMUNICATION, addSlotCallBack);
notificationManager.publish(notificationRequest, (err: BusinessError) => {
if (err) {
console.error(TAG,Failed to publish notification. Code is ${err.code}, message is ${err.message}
);
return;
}
console.error(TAG, ‘Succeeded in publishing notification.’);
});
}
1 回复
在HarmonyOS鸿蒙系统中,实现Next notificationManager发送消息通知、在通知栏显示、横幅弹出以及伴随提示音和震动,可以通过以下步骤进行:
-
创建Notification对象:使用
Notification.Builder
类构建通知对象,设置通知的标题、内容、图标等基本信息。 -
配置通知渠道:在鸿蒙系统中,发送通知前需要先创建并配置通知渠道。使用
NotificationChannelHelper
类创建渠道,并设置其重要性、名称、描述等信息。 -
设置通知的音频和震动:在构建
Notification
对象时,可以通过setSound
方法设置提示音,通过setVibrate
方法设置震动。 -
发送通知:使用
NotificationManager
的notify
方法发送通知,传入通知ID和构建好的Notification
对象。 -
处理横幅显示:横幅显示通常是由系统根据通知渠道的重要性和用户设置自动决定的。确保通知渠道的重要性设置为较高(如
NotificationManager.IMPORTANCE_HIGH
),以增加横幅显示的可能性。
请注意,具体实现时需要根据鸿蒙系统的API文档和开发者指南进行调整。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。