HarmonyOS 鸿蒙Next notificationManager实现消息通知发送,通知栏,横幅弹出(提示音,震动)

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

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发送消息通知、在通知栏显示、横幅弹出以及伴随提示音和震动,可以通过以下步骤进行:

  1. 创建Notification对象:使用Notification.Builder类构建通知对象,设置通知的标题、内容、图标等基本信息。

  2. 配置通知渠道:在鸿蒙系统中,发送通知前需要先创建并配置通知渠道。使用NotificationChannelHelper类创建渠道,并设置其重要性、名称、描述等信息。

  3. 设置通知的音频和震动:在构建Notification对象时,可以通过setSound方法设置提示音,通过setVibrate方法设置震动。

  4. 发送通知:使用NotificationManagernotify方法发送通知,传入通知ID和构建好的Notification对象。

  5. 处理横幅显示:横幅显示通常是由系统根据通知渠道的重要性和用户设置自动决定的。确保通知渠道的重要性设置为较高(如NotificationManager.IMPORTANCE_HIGH),以增加横幅显示的可能性。

请注意,具体实现时需要根据鸿蒙系统的API文档和开发者指南进行调整。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部