HarmonyOS:给您的应用添加通知

一、通知介绍

通知旨在让用户以合适的方式及时获得有用的新消息,帮助用户高效地处理任务。应用可以通过通知接口发送通知消息,用户可以通过通知栏查看通知内容,也可以点击通知来打开应用,通知主要有以下使用场景:

  • 显示接收到的短消息、即时消息等。
  • 显示应用的推送消息,如广告、版本更新等。
  • 显示当前正在进行的事件,如下载等。

1.1 通知表现形式

通知会在不同场景以不同形式提示用户,例如通知在状态栏上显示为图标、在通知栏上会显示通知详细信息。重要的信息还可以使用横幅通知,浮动在界面顶部显示。

在这里插入图片描述

1.2 通知结构

下面以基础的文本通知为例,介绍通知的基本结构。

在这里插入图片描述

  1. 通知小图标:表示通知的功能与类型。
  2. 通知名称:应用名称或功能名称。
  3. 时间:发送通知的时间,系统默认显示。
  4. 展开箭头:点击标题区,展开被折叠的内容和按钮。若无折叠的内容和按钮,不显示此箭头。
  5. 内容标题:描述简明概要。
  6. 内容详情:描述具体内容或详情。

二、请求通知授权

应用需要获取用户授权才能发送通知。在通知发布前调用requestEnableNotification()方法,弹窗让用户选择是否允许发送通知,后续再次调用requestEnableNotification()方法时,则不再弹窗。

2.1 接口说明

通知授权接口功能介绍

接口名 描述
isNotificationEnabled():Promise 查询通知是否授权。
requestEnableNotification(context: UIAbilityContext): Promise 请求发送通知的许可,第一次调用会弹窗让用户选择。
2.2 开发步骤

效果图1

在这里插入图片描述

效果图2

在这里插入图片描述

  1. 导入NotificationManager模块
import {
   
    notificationManager } from '@kit.NotificationKit';
import {
   
    BusinessError } from '@kit.BasicServicesKit';
import {
   
    hilog } from '@kit.PerformanceAnalysisKit';
import {
   
    common } from '@kit.AbilityKit';

const TAG: string = '[PublishOperation]';
const DOMAIN_NUMBER: number = 0xFF00;
  1. 请求通知授权

可通过requestEnableNotification的错误码判断用户是否授权。若返回的错误码为1600004,即为拒绝授权。

let context = getContext(this) as common.UIAbilityContext;
notificationManager.isNotificationEnabled().then((data: boolean) => {
   
   
  hilog.info(DOMAIN_NUMBER, TAG, "isNotificationEnabled success, data: " + JSON.stringify(data));
  if(!data){
   
   
    notificationManager.requestEnableNotification(context).then(() => {
   
   
      hilog.info(DOMAIN_NUMBER, TAG, `[ANS] requestEnableNotification success`);
    }).catch((err : BusinessError) => {
   
   
      if(1600004 == err.code){
   
   
        hilog.error(DOMAIN_NUMBER, TAG, `[ANS] requestEnableNotification refused, code is ${
   
   err.code}, message is ${
   
   err.message}`);
      } else {
   
   
        hilog.error(DOMAIN_NUMBER, TAG, `[ANS] requestEnableNotification failed, code is ${
   
   err.code}, message is ${
   
   err.message}`);
      }
    });
  }
}).catch((err : BusinessError) => {
   
   
    hilog.error(DOMAIN_NUMBER, TAG, `isNotificationEnabled fail, code is ${
   
   err.code}, message is ${
   
   err.message}`);
});

三、创建通知

本节将介绍几种常见类型通知的创建,在创建通知前需要先导入notificationManager模块,该模块提供通知管理的能力,包括发布、取消发布通知,创建、获取、移除通知通道等能力。

3.1 发布基础类型通知

基础类型通知主要应用于发送短信息、提示信息、广告推送等,支持普通文本类型、长文本类型、多行文本类型,可以通过ContentType指定通知的内容类型。下面以普通文本类型为例来介绍基础通知的发布,其它基础类型您可以查阅API。

发布普通文本类型通知,需要设置ContentType类型为ContentType.NOTIFICATION_CONTENT_BASIC_TEXT。

效果图

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值