当前位置:   article > 正文

鸿蒙原生应用/元服务开发-发布基础类型通知开发步骤_鸿蒙系统 下发通知

鸿蒙系统 下发通知

一、导入模块。

  1. import NotificationManager from '@ohos.notificationManager';

二、构造NotificationRequest对象,并发布通知。
1.普通文本类型通知由标题、文本内容和附加信息三个字段组成,其中标题和文本内容是必填字段。

  1. let notificationRequest = {
  2. id: 1,
  3. content: {
  4. contentType: NotificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, // 普通文本类型通知
  5. normal: {
  6. title: 'test_title',
  7. text: 'test_text',
  8. additionalText: 'test_additionalText',
  9. }
  10. }
  11. }
  12. NotificationManager.publish(notificationRequest, (err) => {
  13. if (err) {
  14. console.error(`[ANS] failed to publish, error[${err}]`);
  15. return;
  16. }
  17. console.info(`[ANS] publish success`);
  18. });

运行效果如下图所示。
 

鸿蒙原生应用/元服务开发-发布基础类型通知开发步骤-鸿蒙开发者社区


2.长文本类型通知继承了普通文本类型的字段,同时新增了长文本内容、内容概要和通知展开时的标题。通知默认显示与普通文本相同,展开后,标题显示为展开后标题内容,内容为长文本内容。

运行效果如下图所示。
 

鸿蒙原生应用/元服务开发-发布基础类型通知开发步骤-鸿蒙开发者社区


3.多行文本类型通知继承了普通文本类型的字段,同时新增了多行文本内容、内容概要和通知展开时的标题。通知默认显示与普通文本相同,展开后,标题显示为展开后标题内容,多行文本内容多行显示。

  1. let notificationRequest = {
  2. id: 1,
  3. content: {
  4. contentType: NotificationManager.ContentType.NOTIFICATION_CONTENT_MULTILINE, // 多行文本类型通知
  5. multiLine: {
  6. title: 'test_title',
  7. text: 'test_text',
  8. briefText: 'test_briefText',
  9. longTitle: 'test_longTitle',
  10. lines: ['line_01', 'line_02', 'line_03', 'line_04'],
  11. }
  12. }
  13. }
  14. // 发布通知
  15. NotificationManager.publish(notificationRequest, (err) => {
  16. if (err) {
  17. console.error(`[ANS] failed to publish, error[${err}]`);
  18. return;
  19. }
  20. console.info(`[ANS] publish success`);
  21. });

运行效果如下图所示。
 

鸿蒙原生应用/元服务开发-发布基础类型通知开发步骤-鸿蒙开发者社区


4.图片类型通知继承了普通文本类型的字段,同时新增了图片内容、内容概要和通知展开时的标题,图片内容为PixelMap型对象,其大小不能超过2M。

  1. // 图片构造
  2. const color = new ArrayBuffer(60000);
  3. let bufferArr = new Uint8Array(color);
  4. for (var i = 0; i<bufferArr.byteLength;i++) {
  5. bufferArr[i++] = 60;
  6. bufferArr[i++] = 20;
  7. bufferArr[i++] = 220;
  8. bufferArr[i] = 100;
  9. }
  10. let opts = { editable:true, pixelFormat:"ARGB_8888", size: {height:100, width : 150}};
  11. await image
  12. .createPixelMap(color, opts)
  13. .then(async (pixelmap) => {
  14. await pixelmap.getImageInfo().then(imageInfo => {
  15. console.log("=====size: ====" + JSON.stringify(imageInfo.size));
  16. }).catch(err => {
  17. console.error("Failed to obtain the image pixel map information." + JSON.stringify(err));
  18. return;
  19. })
  20. let notificationRequest = {
  21. id: 1,
  22. content: {
  23. contentType: notify.ContentType.NOTIFICATION_CONTENT_PICTURE,
  24. picture: {
  25. title: 'test_title',
  26. text: 'test_text',
  27. additionalText: 'test_additionalText',
  28. picture: pixelmap,
  29. briefText: 'test_briefText',
  30. expandedTitle: 'test_expandedTitle',
  31. }
  32. },
  33. }
  34. // 发送通知
  35. NotificationManager.publish(notificationRequest, (err) => {
  36. if (err) {
  37. console.error(`[ANS] failed to publish, error[${err}]`);
  38. return;
  39. }
  40. console.info(`[ANS] publish success `);
  41. });
  42. }).catch(err=>{
  43. console.error('create pixelmap failed =========='+ JSON.stringify(err));
  44. return;
  45. })

运行效果如下图所示。
 

鸿蒙原生应用/元服务开发-发布基础类型通知开发步骤-鸿蒙开发者社区


本文主要参考HarmonyOS官方文档整理而成

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/773937
推荐阅读
相关标签
  

闽ICP备14008679号