HarmonyOS 鸿蒙Next notificationManager发布带deliverTime的通知之后,依旧是立即收到通知

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

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

4 回复

通知不支持设定触发时间,可从定时任务的角度,创建一个定时执行的任务,然后在这个任务里直接发送通知 参考定时任务: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


好的感谢,

基本信息
姓名: 张三
职位: 软件工程师
技能: Python, Java, C++

联系方式
电话: 123-456-7890
邮箱: zhangsan@example.com

在HarmonyOS鸿蒙Next中,使用NotificationManager发布带有deliverTime参数的通知时,如果通知仍然立即收到,可能是由于以下原因:

  1. 系统时间设置:确保设备的系统时间正确。如果系统时间不准确,可能会导致通知在预期时间之前或之后到达。

  2. 通知优先级:检查通知的优先级设置。高优先级的通知可能会立即显示,即使设置了deliverTime。

  3. 系统策略:某些系统策略或省电模式可能会影响通知的发送时间。确保设备未处于可能影响通知发送的特殊模式。

  4. 应用后台限制:如果应用在后台受到限制,可能会影响通知的定时发送。确保应用在后台有足够的权限和资源。

  5. API使用:确认NotificationManager的API调用正确,包括deliverTime参数的设置。确保参数传递正确,没有遗漏或错误。

  6. 系统版本:不同版本的HarmonyOS可能会对通知的处理方式有所不同。确保设备运行的是支持该功能的系统版本。

  7. 日志分析:通过查看系统日志或应用日志,分析通知发送和接收的具体时间,以确定是否存在延迟或立即发送的情况。

如果以上因素均已排除,建议进一步检查代码实现,确保逻辑正确无误。

在HarmonyOS中,使用NotificationManager发布带有deliverTime的通知时,如果通知仍然是立即送达,可能是由于以下原因:

  1. 系统时间设置:确保设备的系统时间正确,deliverTime是基于系统时间的未来时间点。
  2. 权限问题:检查应用是否具有正确的通知权限,特别是ohos.permission.NOTIFICATION_CONTROLLER
  3. API使用:确认deliverTime参数设置正确,并且调用了NotificationRequestsetDeliveryTime方法。
  4. 系统限制:某些系统版本或设备可能有特定的限制,导致通知无法按预期延迟发送。

建议检查上述问题,并确保代码逻辑正确。如果问题依旧,可以查阅官方文档或联系技术支持获取进一步帮助。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!