HarmonyOS 鸿蒙Next notificationManager发布带deliverTime的通知之后,依旧是立即收到通知
HarmonyOS 鸿蒙Next notificationManager发布带deliverTime的通知之后,依旧是立即收到通知
deveco3.1,api9,mate40 pro harmony 4.0
static async schedualNotification(): Promise<void> {
try {
let id: number = getDiDaIdNumber()
let today = DateUtil.getToday()
let dateTime = new Date(today.getFullYear(),today.getMonth(), today.getDate(),today.getHours(),today.getMinutes()+1)
console.info(`${today.getTime()} -------${dateTime.getTime()}`)
let notificationRequest: notificationManager.NotificationRequest = {
content: {
contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
normal: {
title: 'title!',
text: 'text样例.',
},
},
id: id,
slotType: notificationManager.SlotType.SOCIAL_COMMUNICATION,
deliveryTime: (today.getTime()+10000),
showDeliveryTime: true
};
notificationManager.publish(notificationRequest, (err: BusinessError) => {
if (err) {
console.error('Failed to publish notification:', err);
} else {
console.log('Notification published successfully');
}
});
} catch (error) {
let err = error as BusinessError;
console.error('Failed to publish notification:', err);
}
}
更多关于HarmonyOS 鸿蒙Next notificationManager发布带deliverTime的通知之后,依旧是立即收到通知的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
通知不支持设定触发时间,可从定时任务的角度,创建一个定时执行的任务,然后在这个任务里直接发送通知 参考定时任务:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-reminderagentmanager-V5
使用远程通知参考链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-send-alert-V5
更多关于HarmonyOS 鸿蒙Next notificationManager发布带deliverTime的通知之后,依旧是立即收到通知的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,使用NotificationManager发布带有deliverTime参数的通知时,如果通知仍然立即收到,可能是由于以下原因:
-
系统时间设置:确保设备的系统时间正确。如果系统时间不准确,可能会导致通知在预期时间之前或之后到达。
-
通知优先级:检查通知的优先级设置。高优先级的通知可能会立即显示,即使设置了deliverTime。
-
系统策略:某些系统策略或省电模式可能会影响通知的发送时间。确保设备未处于可能影响通知发送的特殊模式。
-
应用后台限制:如果应用在后台受到限制,可能会影响通知的定时发送。确保应用在后台有足够的权限和资源。
-
API使用:确认NotificationManager的API调用正确,包括deliverTime参数的设置。确保参数传递正确,没有遗漏或错误。
-
系统版本:不同版本的HarmonyOS可能会对通知的处理方式有所不同。确保设备运行的是支持该功能的系统版本。
-
日志分析:通过查看系统日志或应用日志,分析通知发送和接收的具体时间,以确定是否存在延迟或立即发送的情况。
如果以上因素均已排除,建议进一步检查代码实现,确保逻辑正确无误。
在HarmonyOS中,使用NotificationManager
发布带有deliverTime
的通知时,如果通知仍然是立即送达,可能是由于以下原因:
- 系统时间设置:确保设备的系统时间正确,
deliverTime
是基于系统时间的未来时间点。 - 权限问题:检查应用是否具有正确的通知权限,特别是
ohos.permission.NOTIFICATION_CONTROLLER
。 - API使用:确认
deliverTime
参数设置正确,并且调用了NotificationRequest
的setDeliveryTime
方法。 - 系统限制:某些系统版本或设备可能有特定的限制,导致通知无法按预期延迟发送。
建议检查上述问题,并确保代码逻辑正确。如果问题依旧,可以查阅官方文档或联系技术支持获取进一步帮助。