HarmonyOS鸿蒙Next通知请求的参数注意事项

HarmonyOS鸿蒙Next通知请求的参数注意事项 在复现下载文件codelabs的时候发现了一个容易忽视的问题:

定义通知请求的代码如下所示:

let notificationRequest: notificationManager.NotificationRequest = {
  id: CommonConstants.NOTIFICATION_ID,
  notificationSlotType: notificationManager.SlotType.CONTENT_INFORMATION,
  // Construct a progress bar template. The name field must be set to downloadTemplate.
  template: template,
  content: {
    notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
    normal: {
      title: `${title}:${CommonConstants.DOWNLOAD_FILE}`,
      text: ' ',
      additionalText: `${progress}%`
    }
  },
  wantAgent: wantAgentObj
};

我在复现的时候写的代码如下:

let notificationRequest:notificationManager.NotificationRequest = {
  id:NOTIFICATION_ID,
  notificationSlotType:notificationManager.SlotType.CONTENT_INFORMATION,
  template:template,
  content:{
    notificationContentType:notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
    normal:{
      title:`${title}:${DOWNLOAD_FILE}`,
      text:'',
      additionalText:`${progress}%`
    }
  },
  wantAgent:wantAgentObj
}

结果一点下载APP就崩掉。最后逐句代码替换,发现text属性不能为空,如果不显示东西也要设置成“ ”空格。


更多关于HarmonyOS鸿蒙Next通知请求的参数注意事项的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

谢谢提醒~

更多关于HarmonyOS鸿蒙Next通知请求的参数注意事项的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,通知请求的参数设置需注意以下几点:

  1. ID唯一性:每个通知请求必须具有唯一的ID,确保通知能够被正确管理和更新。

  2. 通知渠道:必须指定通知渠道,渠道决定了通知的显示方式和优先级。未指定渠道的通知将无法正常显示。

  3. 标题和内容:通知的标题和内容是必填项,标题应简洁明了,内容应清晰传达信息。

  4. 优先级:设置通知的优先级,影响通知在设备上的显示顺序和方式。优先级过高可能导致用户频繁被打扰。

  5. 图标:通知图标应清晰且符合应用主题,避免使用过大或过小的图标。

  6. 点击动作:定义用户点击通知后的行为,确保点击后跳转到正确的页面或执行预期的操作。

  7. 持久性:根据需要设置通知是否为持久性通知,持久性通知不会被用户轻易清除。

  8. 声音和震动:根据通知类型选择是否启用声音和震动,避免不必要的干扰。

  9. 时间戳:设置通知的时间戳,确保通知按正确的时间顺序显示。

  10. 扩展参数:使用扩展参数传递额外信息,确保通知能够携带必要的上下文数据。

以上参数设置需严格遵循HarmonyOS开发文档,以确保通知功能的正常使用和用户体验的优化。

在HarmonyOS鸿蒙Next中,通知请求的参数设置需注意以下几点:首先,确保NotificationRequest对象包含有效的idcontentid需唯一,content需包含标题和正文。其次,合理设置slotType以匹配通知的重要性,避免影响用户体验。此外,deliveryTime应准确,确保通知在合适的时间推送。最后,注意权限管理,确保应用具备发送通知的权限,避免因权限问题导致通知发送失败。

回到顶部