【Harmony OS - 消息通知】

这篇具有很好参考价值的文章主要介绍了【Harmony OS - 消息通知】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

应用可以通过接口发送通知消息,提醒用户关注应用中的变化。用户可以在通知栏查看和操作通知内容,通常用于当应用处于后台时,发送,本文主要来介绍在Harmony OS中的三种消息通知。

基础通知

总体流程有三步:

  1. 导入notification模块
  2. 配置通知参数之后通过publish发布通知
  3. 取消通知

1、导入notification

import notificationManager from '@ohos.notificationManager';

2、发布通知

let request: notificationManager.NotificationRequest = {
      id: 0,
      content: {
        contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT
      }
    }

    notificationManager.publish(request).then(() => {
      console.log('发送通知成功')
    }).catch(err => {
      console.log('发送通知失败')
    })

这里的id就是通知的唯一标识,后续可以通过id然后调用cancel函数来取消通知。

其中conentType有四个枚举:
【Harmony OS - 消息通知】,鸿蒙
当contentType为图片型的时候,需要传入一个PixelMap的图片数据,这个可以通过提供这样的方式来获取:

// 获取资源管理器
    const resourcemanage = getContext(this).resourceManager;
    // 获取图片资源
    const imgFile = await resourcemanage.getMediaContent($r('xxxx'));
    // 创建PixelMap数据
    // image需要从@ohos.multimedia.image导入
    image.createImageSource(imgFile.buffer).createPixelMap()
      .then(val => this.piexlMap = val)
      .catch(err => console.log(err))

3、取消通知
Harmony O提供了两种方式来取消通知,第一种就是上方提到的根据id取消,第二种则是调用cancelAll来取消所有的通知信息。

notificationManager.cancel(id)
notificationManager.cancelAll()

详细的request请求参数api查看官网:NotificationRequest

进度条通知

进度条通知会展示一个动态的进度条,主要用于文件下载、长任务处理的实时进度显示
主要也是三步:

  • 判断系统是否支持进度条模版
  • 配置进度条模版参数
  • 根据参数发送模版通知

1、通过isSupportTemplate是否支持,异步返回Promose回调

const isSupport = await notificationManager.isSupportTemplate('process');
if(!isSupport) return;

2、配置进度条模版参数

const templateParams = {
    name: 'process',
    data: {
      progressValue: this.progressValue, // 当前进度值
      ProgressMaxValue: 100 // 进度条最大值
    }
  }

  const request: notificationManager.NotificationRequest = {
    id: 0,
    template: templateParams, // 较基础通知新增进度模版配置
    content: {} // 配置和基础通知一致
  }

3、根据参数发送模版通知

notificationManager.publish(request).then(() => {
  console.log('发送通知成功')
}).catch(err => {
  console.log('发送通知失败')
})

行为意图通知

我们可以给通知或者通知中的按钮设置行为意图,从而实现拉起应用组件或发布公共事件等能力。说白了,就是我们可以通过点击消息栏中的通知重新回到指定应用或者做一些事情。
主要是三个步骤:

  • 创建wantInfo,行为意图配置
  • 创建WantAgentInfo实例
  • 发送携带意图的通知
    1、 创建行为意图配置
const wantInfo: wantAgent.WantAgentInfo = {
  wants: [
     {
       deviceId: '', // 默认本机
       bundleName: 'com.example.myapplication', // 拉起的应用
       abilityName: 'EntryAbility', // 拉起当前应用的那个ability
     }
   ],
   requestCode: 0,
   operationType: wantAgent.OperationType.START_ABILITY, // 拉起一个ability
   wantAgentFlags: [wantAgent.WantAgentFlags.CONSTANT_FLAG]
 }

这里只是简单列了一些,具体请查看官网:WantAgentInfo

2、创建WantAgentInfo实例

// 创建wantAgent实例
const wantAgentInstance = await wantAgent.getWantAgent(wantInfo);

3、发送携带意图的通知
和发送进度条通知一样,在基础通知中添加一个配置wantAgent即可,文章来源地址https://www.toymoban.com/news/detail-790098.html

const request: notificationManager.NotificationRequest = {
   id: 0,
   template: templateParams,
   wantAgent: this.wantAgentInstance,
   content: {} // 配置和基础通知一致
 }
 // 发布行为意图通知
 notificationManager.publish(request).then(() => {
  console.log('发送通知成功')
}).catch(err => {
  console.log('发送通知失败')
})

到了这里,关于【Harmony OS - 消息通知】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Harmony OS控制外设——输入输出

    本节课程主要介绍如何在HiSpark WiFi IoT套件上使用Hamony OS进行编程,以及如何使用GPIO输入输出功能。 Hi3861开发板第一个示例程序演示 熟悉使用DevEco Device Tool插件进行程序烧录 熟悉串口调试工具sscom的使用 官方文档中控制核心板上LED的 led_example.c 讲解及演示 源码路径: appli

    2023年04月20日
    浏览(68)
  • 【鸿蒙系统】 ---Harmony 鸿蒙编译构建指导(一)

    💌 所属专栏:【鸿蒙系统】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘   大家好,又见面了,我是夜阑的

    2024年04月17日
    浏览(78)
  • Harmony OS (eTS语言)的起源和演进

      Mozilla创造了JS,Microsoft创建了TS,Huawei进一步推出了eTS。eTS(extended TypeScript)是鸿蒙(Harmony)生态的一种应用开发语言。也是Harmony系统(Harmony开发语言java、js、eTS,Harmony3.0后java语言废弃了)主推的一种开发语言。它在TypeScript(简称TS)的基础上,扩展了声明式UI、状态管理

    2024年02月03日
    浏览(31)
  • Harmony OS 开发指南——源码下载和编译

    本文介绍了如何下载鸿蒙系统源码,如何一次性配置可以编译三个目标平台( Hi3516 , Hi3518 和 Hi3861 )的编译环境,以及如何将源码编译为三个目标平台的二进制文件。 坑点总结 : 下载源码基本上没有太多坑,可以很顺利的进行 编译源码主要的一个大坑是,默认版本的 s

    2023年04月18日
    浏览(43)
  • 【Harmony OS】【ArkUI】ets开发 图形与动画绘制

    【ArkUI 】ets 开发  图形与动画绘制 前言:之前我们已经完成了Harmony ArkUI  使用ets 方式实现基础的页面布局和数据连接的学习,这次我们在原有的基础上进行一些图片和动画的绘制学习。本篇是以HarmonyOS 官网的基于TS 扩展的声明式开发范式文档,绘图和动画为基础进行编写

    2024年02月16日
    浏览(34)
  • Stage模型详解,UIability------Harmony OS 开发(第五期)

    如上图所示,蓝色框内就是代表一个模块, 一个工程下可以有n个模块,但只能有一个entry模块,即入口模块(核心),里面是该APP的主要功能 。模块分为两种类型: Ability Module和Library Module模块 ,前者是能力模块,用于实现对应的页面和功能,后者是共享模块,里面的功能和已经创

    2024年01月24日
    浏览(35)
  • 【Harmony OS】【ArkUI】ets开发 简易视频播放器

    前言:这一次我们来使用ets 的Swiper 组件、List 组件和Video 组件制作一个简易的视频播放器。本篇是以HarmonyOS 官网的codelab 简易视频播放器(eTS )为基础进行编写。本篇最主要的内容就是一个主界面包括顶部的视频海报轮播,中部的视频播放列表,以及点击海报和播放列表进

    2023年04月27日
    浏览(31)
  • Harmony鸿蒙南向驱动开发流程

    HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路,让驱动开发和部署更加规范,旨在构建统一的驱动架构平台,为驱动开发者提供更精准、更高效的驱动

    2024年04月27日
    浏览(28)
  • 鸿蒙Harmony-层叠布局(Stack)详解

    我们总是为了太多遥不可及的东西去拼命,却忘了人生真正的幸福不过是灯火阑珊处的温暖,柴米油盐的充实,人生无论你赚的钱,是多还是少,经历的事情是好还是坏,都不如过好当下的每一天!  目录 一,定义 二,开发布局 三,对齐方式 3.1 TopStart顶部起始端  3.2 To

    2024年01月18日
    浏览(44)
  • 鸿蒙harmony加解密算法 写法封装

    最近在看harmony。网络通讯最基础的数据加解密需要封装,以下研究了其写法。其实写法和flutter里 甚至android中代码写法 大同小异,具体算法可自定义修改,只展示原理。 原理: 加密:1.json字符串(待加密原文)通过base64执行decodeSync 2.通过算法转换为byte数组 3.byte转string 解

    2024年02月02日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包