HarmonyOS鸿蒙通知

一、基础类型-简单文本

1、导入模块

ts 复制代码
1、import notificationManager from '@ohos.notificationManager';

2、构造NotificationRequest对象,并发布通知。

普通文本类型通知由标题、文本内容和附加信息三个字段组成,其中标题和文本内容是必填字段

ts 复制代码
  let notificationRequest = {
      id: 1,
      content: {
        contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, // 这是普通文本类型通知
        normal: {
          title: 'huxiubo title',
          text: 'huxiubo text',
          additionalText: 'huxiubo additionalText',
        }
      }
    }

    notificationManager.publish(notificationRequest, (err) => {
      if (err) {
        console.error(`Failed, error[${err}]`);
        return;
      }
      console.info("Successed pushlish ");
    });

3、运行效果如下图所示

二、基础类型通知-长文本

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

ts 复制代码
let notificationRequest = {
      id: 1,
      content: {
        contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_LONG_TEXT, // 长文本类型通知
        longText: {
          title: 'huxiubo title',
          text: 'huxiubo text',
          additionalText: 'huxiubo additionalText',
          longText: 'huxiubo longText',
          briefText: 'huxiubo briefText',
          expandedTitle: 'huxiubo expandedTitle',
        }
      }
    }

    notificationManager.publish(notificationRequest, (err) => {
      if (err) {
        console.error(`Failed, error[${err}]`);
        return;
      }
      console.info("Successed pushlish ");
    });

三 图片

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

ts 复制代码
// 图片构造
const color = new ArrayBuffer(60000);
let bufferArr = new Uint8Array(color);
for (var i = 0; i<bufferArr.byteLength;i++) {
  bufferArr[i++] = 60;
  bufferArr[i++] = 20;
  bufferArr[i++] = 220;
  bufferArr[i] = 100;
}
let opts = { editable:true, pixelFormat:"ARGB_8888", size: {height:100, width : 150}};
await image
  .createPixelMap(color, opts)
  .then(async (pixelmap) => {
    await pixelmap.getImageInfo().then(imageInfo => {
      console.log("=====size: ====" + JSON.stringify(imageInfo.size));
    }).catch(err => {
      console.error("Failed to obtain the image pixel map information." + JSON.stringify(err));
      return;
    })
    let notificationRequest = {
      id: 1,
      content: {
        contentType: notify.ContentType.NOTIFICATION_CONTENT_PICTURE,
        picture: {
          title: 'test_title',
          text: 'test_text',
          additionalText: 'test_additionalText',
          picture: pixelmap,
          briefText: 'test_briefText',
          expandedTitle: 'test_expandedTitle',
        }
      },
    }
    // 发送通知
    NotificationManager.publish(notificationRequest, (err) => {
      if (err) {
        console.error(`[ANS] failed to publish, error[${err}]`);
        return;
      }
      console.info(`[ANS] publish success `);
    });
  }).catch(err=>{
    console.error('create pixelmap failed =========='+ JSON.stringify(err));
    return;
  })

👀关注公众号:Android老皮!!!欢迎大家来找我探讨交流👀

相关推荐
贾伟康1 小时前
【HarmonyOS 7新能力|028】Core Vision Kit工程封装:把接入逻辑放进可维护的分层结构
计算机视觉·harmonyos·arkts·端侧ai·harmonyos 7
马剑威(威哥爱编程)3 小时前
【共创稿事节】HarmonyOS 7 互动卡片实战:摇一摇触发静态转动态,前景元素出框
华为·harmonyos
贾伟康3 小时前
【HarmonyOS 7新能力|029】3DGS工程封装:把接入逻辑放进可维护的分层结构
harmonyos·arkts·三维重建·3dgs·harmonyos 7
马剑威(威哥爱编程)3 小时前
【共创稿事节】HarmonyOS 7 闪控窗实战:标准悬浮窗、侧边栏暂存与闪控球一键切换
华为·harmonyos
贾伟康5 小时前
【HarmonyOS 7新能力|019】平行视界入门实战:从能力边界到最小可运行链路
harmonyos·arkts·arkui·harmonyos 7·平行视界
技术任我行XTing5 小时前
【DFX系列】Flutter 鸿蒙应用外接纹理介绍及问题定位
flutter·harmonyos
三翼鸟数字化技术团队5 小时前
WiFi-DensePose × OpenHarmony 智慧家居融合
harmonyos
HarmonyOS_SDK5 小时前
AI 赋能 Push Kit 场景化消息开发,高效完成鸿蒙应用推送能力接入
harmonyos
大雷神7 小时前
【共创稿事节】HarmonyOS ArkGraphics 3D实操——做一个可暂停、可拖动的音箱场景动画
harmonyos
anthonyzhu7 小时前
MacOS27 x86限制引发的pod的问题处理
华为·harmonyos