【鸿蒙】通知

一、概要

Android的Notification。

说到通知,就想到了推送。
通知这块可以做到不像Android一样需要集成各家厂商的推送了,不知道是否有建立独立的推送系统

在这里插入图片描述
这是官网上介绍的跨APP进行的IPC通知。实际在Android开发过程中,可能这种场景会相对较少。当然,进行BroardCastReceiver方面的调用也是有的。

二、实现

1.通知的类型

普通文本、长文本、多行文本、图片类型、进度条通知。

好吧:文本这块划分确实有点多。就理解为文本、图片、进度条类型。
除此之外,并没有视频、聊天这种相对复杂一点的类型。

2.发送通知

import NotificationManager from '@ohos.notificationManager';

let notificationRequest = {
  id: 1,
  content: {
    contentType: NotificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, // 普通文本类型通知
    normal: {
      title: 'test_title',
      text: 'test_text',
      additionalText: 'test_additionalText',
    }
  }
}

NotificationManager.publish(notificationRequest, (err) => {
    if (err) {
        console.error(`[ANS] failed to publish, error[${err}]`);
        return;
    }
    console.info(`[ANS] publish success`);
});

在这里插入图片描述

3.通知的意图

是什么?
也就是消费通知。当然你可以认为显示也是一种消费,但这里的关注点在于用户点击通知之后的意图。
这里的意图是WantAgent——>Intent。

怎么做?

import NotificationManager from '@ohos.notificationManager';
import wantAgent from '@ohos.app.ability.wantAgent';

let wantAgentObj = null; // 用于保存创建成功的wantAgent对象,后续使用其完成触发的动作。

// 通过WantAgentInfo的operationType设置动作类型。
let wantAgentInfo = {
    wants: [
        {
            deviceId: '',
            bundleName: 'com.example.test',
            abilityName: 'com.example.test.MainAbility',
            action: '',
            entities: [],
            uri: '',
            parameters: {}
        }
    ],
    operationType: wantAgent.OperationType.START_ABILITY,
    requestCode: 0,
    wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG]
}

// 创建WantAgent
wantAgent.getWantAgent(wantAgentInfo, (err, data) => {
    if (err) {
        console.error('[WantAgent]getWantAgent err=' + JSON.stringify(err));
    } else {
        console.info('[WantAgent]getWantAgent success');
        wantAgentObj = data;
    }
});

// 构造NotificationRequest对象
let notificationRequest = {
    content: {
        contentType: NotificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
        normal: {
            title: 'Test_Title',
            text: 'Test_Text',
            additionalText: 'Test_AdditionalText',
        },
    },
    id: 1,
    label: 'TEST',
    wantAgent: wantAgentObj,
}

// 通知发送
NotificationManager.publish(notificationRequest, (err) => {
    if (err) {
        console.error(`[ANS] failed to publish, error[${err}]`);
        return;
    }
    console.info(`[ANS] publish success `);
});

三、总结

通知是个UI组件,它和BroadCastReceiver还是不同的。鸿蒙版本的通知较为基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/583657.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码审计-PHP模型开发篇MVC层RCE执行文件对比法1day分析0day验证

知识点: 1、PHP审计-MVC开发-RCE&代码执行 2、PHP审计-MVC开发-RCE&命令执行 3、PHP审计-MVC开发-RCE&文件对比简要点 1、代码审计必备知识点: 环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知…

《HCIP-openEuler实验指导手册》2.2 Nginx静态资源访问配置

知识点 配置步骤 新建静态资源文件 mkdir /data mkdir /data/nginx touch /data/nginx/index.html echo "this is /data/nginx/index.html" > /data/nginx/index.html touch /data/nginx/test.txt echo "this is /data/nginx/test.txt" > /data/ng…

复刻系列-绝区零官网「喧响测试」

复刻绝区零官网「喧响测试」 0. 视频 绝区零,妮慧事捉净!!! 1. 基本信息 作者: GMCY系列: 复刻系列网站: 绝区零「喧响测试」- 复刻的仓库: GitHub | Gitee话题(GitHub): vue \ reprint \ mihoyo \ ZenlessZoneZero创建时间: 20…

设计模式六大原则详解

引言 对于设计模式,自己很早之前就看了好多本设计模式书籍,其中一些还看了好几遍,也一直希望自己能在编码的时候把这些设计模式用上去。可是,在日常的打码中,用的做多的就是单例,其次是观察者和建造者模式…

ASP.NET某企业信息管理系统的设计与实现

摘 要 信息管理系统就是我们常说的MIS(Management Information System),它是一个计算机软硬件资源以及数据库的人-机系统。经过对题目和内容的分析,选用了Microsoft公司的ASP.NET开发工具,由于它提供了用于从数据库中访问数据的强大工具集,使用它可以建立开发比较完善的数据库…

docker容器---docker-compose容器集群的快速编排

一、Docker-compose简介 Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service&am…

使用vue3+elementplus的级联选择器实现省市区联动(三级到五级)

中华人民共和国行政区划代码 github地址:https://github.com/uiwjs/province-city-china 中华人民共和国行政区划(五级):省级、地级、县级、乡级和村级。来自中华人民共和国民政部,用于查询中国省,市和区数…

linux远程访问及控制

一、SSH远程管理 1.SSH的简介 SSH远程管理是一种通过 SSH 协议安全地管理远程计算机的方法。允许管理员通过加密的连接从本地计算机或其他远程位置连接到远程计算机,并执行管理任务、配置设置、故障排除等操作。 远程链接的两种方法:SSH 、Telnet S…

函数定义域和值域

定义域和值域 1. 函数的定义 函数的定义:一般的,在一个变化过程中,假设有两个变量 x x x, y y y,如果对于任意一个 x x x 都有唯一确定的一个 y y y 和它对应,那么就称 x x x 是自变量, y…

C++初阶学习第四弹——类与对象(中)——刨析类与对象的核心点

类与对象(上):C初阶学习第三弹——类与对象(上)——初始类与对象-CSDN博客 前言: 在前面文章中,我们已经讲了类与对象的思想和类与对象的一些基本操作,接下来这篇文章我们将讲解以下…

会计稳健性Cscore模型(2000-2022年)

01、数据介绍 会计稳健性是指在财务报告中,对损失和收益的确认存在不对称的延迟。具体来说,对于损失或坏消息,企业应尽早确认;而对于收益或好消息,企业应延迟确认。这种稳健的会计处理方式有助于提高财务报告的质量&a…

人工原生动物优化器(APO)-2024年SCI一区新算法-公式原理详解与性能测评 Matlab代码免费获取

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 原理简介 一、觅食行为 (1)自养模式 (2)异…

[CUDA 学习笔记] GEMM 优化: 双缓冲 (Prefetch) 和 Bank Conflict 解决

GEMM 优化: 双缓冲 (Prefetch) 和 Bank Conflict 解决 前言 本文主要是对 深入浅出GPU优化系列:GEMM优化(一) - 知乎, 深入浅出GPU优化系列:GEMM优化(二) - 知乎 以及 深入浅出GPU优化系列:GE…

Git工具的使用

文章目录 Git概述本地仓库命令远程仓库命令分支操作标签操作 IDEA上执行Git Git概述 一般工作流程如下: 从远程仓库中克隆 Git 资源作为本地仓库; 从本地仓库中checkout代码然后进行代码修改; 在提交本地仓库前先将代码提交到暂存区&#xff…

上市公司-双重差分模型手动匹配绿色企业数据及参考资料

01、数据简介 双重差分模型(DID,Differences-in-Differences)是一种用于估计某个政策或处理效果的经济计量学模型。通过双重差分模型,可以控制一些不易观察的个体特征和时间趋势,以更准确地估计政策的效应。将绿色企业…

OmniReader Pro for Mac:强大且全面的阅读工具

OmniReader Pro for Mac是一款专为Mac用户设计的强大且全面的阅读工具,它集阅读、编辑、管理等多种功能于一身,为用户提供了卓越的阅读体验。 OmniReader Pro for Mac v2.9.5激活版下载 该软件支持多种文件格式的阅读,包括PDF、Word、Excel、…

Python中PYTHONPATH与sys.path详解——看完不会用你打我

一、PYTHONPATH是什么 PYTHONPATH是python查找模块和包的路径,当导入模块时,python解释器将按顺序在PYTHONPATH下寻找。 通过sys.path可以查看PYTHONPATH的值,路径列表的第一个元素为空字符串,代表的是相对路径下的当前目录&…

特斯拉携手百度攻克在华推广辅助驾驶难题,马斯克意外访华成果显著

特斯拉近日宣布与科技巨头百度达成合作协议,共同为中国市场提供地图和导航服务,以进一步推动其辅助驾驶系统的广泛应用。这一重要进展得益于特斯拉CEO埃隆马斯克上周的意外访问。 更多消息:AI人工智能行业动态,aigc应用领域资讯 …

盼你快治好肺癌,处死360那个鬼

近日《网易首页>网易号》发表《周鸿祎突然咳嗽不停,三锥子扎不出血,网友怀疑是癌症》一文,引发网络热议不断。有网友发布一张周鸿祎朋友圈的图片显示,周鸿祎因为“咳嗽不停”在治疗。 周鸿祎在朋友圈写到“咳嗽不停&#xff0…

数之寻软件怎么样?

数之寻软件是一款功能强大的数据恢复和备份软件,以下是对其特点和功能的详细评价: 一、数据恢复方面: 高效的数据恢复能力:数之寻软件采用了先进的算法和数据恢复技术,能够快速有效地恢复丢失或损坏的数据。无论是文…