精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

HarmonyOS - 實現(xiàn)消息通知功能

系統(tǒng) OpenHarmony
對于消息通知的應(yīng)用是一個APP必不可少的部分,是APP與用戶交互的一個通道。

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

前言

通知是手機軟件的消息推送,一般需要設(shè)置通知的權(quán)限為允許通知才能在狀態(tài)欄查看到通知。主要有以下使用場景:

  1. app內(nèi)的通知:如微信新消息的提醒,以及一些APP廣告的推送,APP版本更新。
  2. 系統(tǒng)的通知,如電量過低,短信提醒等。
  3. 顯示正在進行的事件,如音樂播放,下載等都是通知。

效果展示

#夏日挑戰(zhàn)賽# HarmonyOS - 實現(xiàn)消息通知功能-開源基礎(chǔ)軟件社區(qū)

實現(xiàn)步驟

1、定義觸發(fā)通知的事件

(1)首先需要定義UI

(一般情況下,不需要UI,本實例為了能方便獲取觸發(fā)事件而定義UI)。

<!--文本通知按鈕-->
<button class="button_notification" onclick="clickStartInputNotification">
{{$t('strings.startInputNotifiction')}}
</button>
<!--圖片通知按鈕-->
<button class="button_notification" onclick="clickStartButtonNotifiction">
{{$t('strings.startButtonNotifiction')}}
</button>
<!--取消通知-->
<button class="button_notification" onclick="clickCancelNotification">
{{$t('strings.cancelNotifiction')}}
</button>

(2)實現(xiàn)JS FA調(diào)用PA的邏輯,并實現(xiàn)點擊事件

import prompt from '@system.prompt';
export default {
//文本通知
clickStartInputNotification:function(){
this.showToast("clickStartInputNotification");
this.notification(0x1001);
},
//圖片通知
clickStartButtonNotifiction:function(){
this.showToast("clickStartButtonNotifiction");
this.notification(0x1002);
},
//取消通知
clickCancelNotification:function(){
this.showToast("clickCancelNotification");
this.notification(0x1003);
},
//初始化action
initAction: function (code) {
var actionData = {};
actionData.notify = "this actionData form JS ";
var action = {};
action.bundleName = "com.chinasoft.example";
action.abilityName = "NotificationAbility";
action.messageCode = code;
action.data = actionData;
action.abilityType = 1;
action.syncOption = 0;
return action;
},
//調(diào)用PA
notification: async function(code) {
try {
var action = this.initAction(code);
var result = await FeatureAbility.callAbility(action);
console.info(" result = " + result);
this.showToast(result);
} catch (pluginError) {
console.error("startNotification : Plugin Error = " + pluginError);
}
},
}

2、實現(xiàn)通知的邏輯

(1)實現(xiàn)onRemoteRequest()方法

在工程中新建一個InternalAbility繼承自AceInternalAbility,實現(xiàn)onRemoteRequest()方法。

/*
* 當(dāng)JS側(cè)調(diào)用FeatureAbility.callAbility(OBJECT)接口時調(diào)用此方法,通過JS傳來的指令執(zhí)行對應(yīng)的函數(shù)。
* */
public boolean onRemoteRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option) {
String result = data.readString();
switch (code) {
case 0x1001:
startTextNotification(reply);//文本類型的通知
break;
case 0x1002:
startPictureNotification(reply);//圖片類型的通知
break;
case 0x1003:
cancelNotification(reply);//取消通知
break;
default:
reply.writeString("服務(wù)沒有定義");//若是沒有對應(yīng)命令則回復(fù)
return false;
}
return true;
}

(2)在MainAbility中注冊與取消注冊

@Override
public void onStart(Intent intent) {
super.onStart(intent);
NotificationAbility.register(this);//當(dāng)MainAbility創(chuàng)建的時候注冊
}
@Override
public void onStop() {
super.onStop();
NotificationAbility.deRegister();//當(dāng)Ability銷毀的時候注銷
}

(3)通知開發(fā)步驟

通知相關(guān)基礎(chǔ)類包含NotificationSlot、NotificationRequest和NotificationHelper。

NotificationSlot可以對提示音、振動、重要級別等進行設(shè)置。一個應(yīng)用可以創(chuàng)建一個或多個NotificationSlot,在發(fā)布通知時,通過綁定不同的NotificationSlot,實現(xiàn)不同用途。NotificationRequest用于設(shè)置具體的通知對象,包括設(shè)置通知的屬性,如:通知的分發(fā)時間、小圖標、大圖標、自動刪除等參數(shù),以及設(shè)置具體的通知類型,如普通文本、長文本等。NotificationHelper封裝了發(fā)布、更新、刪除通知等靜態(tài)方法。在這里主要通過介紹文本消息通知和圖片消息通知。

定義通知類型并設(shè)置基本屬性內(nèi)容

設(shè)置文本通知的頭部文本,通知標題,通知的內(nèi)容。

//1.設(shè)置通知的類型以及設(shè)置通知的標題,正文等屬性
NotificationRequest.NotificationNormalContent normalContent
= new NotificationRequest.NotificationNormalContent();
normalContent.setTitle("文本消息通知");//設(shè)置通知的標題
normalContent.setAdditionalText("頭部文本");//設(shè)置通知的頭部文本
normalContent.setText("這是一個文本消息通知");//設(shè)置通知的正文內(nèi)容

設(shè)置圖片通知的頭部文本,通知標題,通知的簡短介紹,通知圖片。

pictureContent.setTitle("notifiction");
PixelMap pixelMap = getPixMap();
pictureContent.setBigPicture(pixelMap);//設(shè)置通知展示圖片
pictureContent.setAdditionalText("這是一個圖片通知");//設(shè)置通知的頭部文本
pictureContent.setBriefText("對于通知的簡介");//設(shè)置通知的簡要介紹

定義通知的響應(yīng)按鈕

如果響應(yīng)的按鈕為文本則需要設(shè)置builder的第一個參數(shù)為null,若響應(yīng)的按鈕為圖片則需要設(shè)置builder的第一個參數(shù)為PixelMap對象。

//2.設(shè)置通知的響應(yīng)按鈕
IntentAgent intentAgent = setIntentAgent();
NotificationActionButton actionButton = new NotificationActionButton.Builder(null,
"回復(fù)", intentAgent)//設(shè)置回復(fù)按鈕文本內(nèi)容以及設(shè)置回復(fù)的action
.addNotificationUserInput(
new NotificationUserInput.Builder("QUICK_NOTIFICATION_REPLY")
.setTag("輸入文本").build())//設(shè)置回復(fù)消息的tag
.setSemanticActionButton(NotificationConstant.SemanticActionButton.ARCHIVE_ACTION_BUTTON)
.setAutoCreatedReplies(false)
.build();

NotificationRequest設(shè)置

通過NotificationRequest對象對消息進行封裝,設(shè)置通知內(nèi)容,id以及回復(fù)按鈕。

NotificationRequest.NotificationContent notificationContent = new NotificationRequest.NotificationContent(
normalContent);//將normalContent作為參數(shù)傳給NotificationRequest對象
NotificationRequest notificationRequest = new NotificationRequest(100);//設(shè)置通知id
notificationRequest.setContent(notificationContent);//notificationRequest對象設(shè)置通知內(nèi)容
notificationRequest.addActionButton(actionButton);//將回復(fù)動作按鈕添加進notificationRequest

發(fā)布通知

(發(fā)布通知后手機狀態(tài)欄會有通知信息顯示)。

通過調(diào)用NotificationHelper的publishNotification(NotificationRequest notificationRequest)。

NotificationHelper.publishNotification(notificationRequest);

取消通知

(取消通知后通知會從手機狀態(tài)欄消失)。

通過調(diào)用NotificationHelper的cancelNotification(notification id)方法來實現(xiàn),通過notificationid來辨別通知。

NotificationHelper.cancelNotification(100);

其他功能

若想對通知的提示音,振動,重要級別等進行設(shè)置,需要用到NotificationSlot對象,需要在發(fā)布前就對其進行設(shè)置。

其主要接口如下表。

接口名

描述

NotificationSlot(String id, String name, int level)

構(gòu)造NotificationSlot。

setLevel(int level)

設(shè)置NotificationSlot的級別。

setName(String name)

設(shè)置NotificationSlot的命名。

setDescription(String description)

設(shè)置NotificationSlot的描述信息。

enableBypassDnd(boolean bypassDnd)

設(shè)置是否繞過系統(tǒng)的免打擾模式。

setEnableVibration(boolean vibration)

設(shè)置收到通知時是否使能振動。

setEnableLight(boolean isLightEnabled)

設(shè)置收到通知時是否開啟呼吸燈,前提是當(dāng)前硬件支持呼吸燈。

setLedLightColor(int color)

設(shè)置收到通知時的呼吸燈顏色。

注意:這個對象只有在真機上才有真實效果。

總結(jié)

以上就是開發(fā)一個消息通知的完整過程,對于消息通知的應(yīng)用是一個APP必不可少的部分,是APP與用戶交互的一個通道。

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2025-05-29 01:33:00

微服務(wù)架構(gòu)系統(tǒng)

2017-03-16 08:46:57

延時消息環(huán)形隊列數(shù)據(jù)結(jié)構(gòu)

2022-07-12 17:33:00

消息定時提醒鴻蒙

2022-07-28 14:31:04

canvas鴻蒙

2017-04-07 10:30:34

Windows 10Windows消息通知

2011-05-06 15:00:52

Service BroSQL Server

2021-08-04 10:22:27

鴻蒙HarmonyOS應(yīng)用

2024-01-31 09:42:11

RabbitMQ消息隊列.NET

2025-03-31 08:39:55

2011-10-19 09:30:23

jQuery

2022-06-02 14:27:05

UI框架JS

2017-03-20 09:50:35

消息隊列架構(gòu)消息

2011-07-18 13:56:19

2011-07-22 16:47:53

iOS 通知 xcode

2023-10-27 16:15:35

鴻蒙天氣服務(wù)功能

2021-02-19 09:17:48

微軟Edge瀏覽器

2015-05-11 10:57:01

Android M谷歌

2011-07-22 16:57:44

iOS 通知

2010-02-23 14:48:38

WCF事件通知

2020-09-21 14:37:09

Python代碼微信
點贊
收藏

51CTO技術(shù)棧公眾號

黄色大片在线免费观看| 亚洲熟女毛茸茸| 欧美xxx性| 国产精品午夜在线| 国产高清一区二区三区| 伊人久久久久久久久久久久| 国产精品99一区二区三区| 精品卡一卡二卡三卡四在线| 蜜臀久久99精品久久久酒店新书| 欧美激情二区| 99re这里只有精品首页| 国产免费成人av| 久久夜靖品2区| 婷婷久久一区| 国产视频丨精品|在线观看| 日本高清一区二区视频| 国产精品粉嫩| 一区二区三区欧美激情| 日韩在线导航| 天堂网av2014| 国产麻豆91精品| 国产精品久久久久久久久久新婚| 久草成人在线视频| 婷婷综合视频| 一本大道亚洲视频| 性欧美丰满熟妇xxxx性久久久| 色综合视频一区二区三区日韩| 亚洲r级在线视频| 特级西西人体www高清大胆| 福利片在线看| 久久久久久久久久久久久夜| 91九色在线视频| 丰满熟女人妻一区二区三| 在线不卡亚洲| 欧美激情乱人伦一区| √天堂中文官网8在线| 欧美日韩中文字幕一区二区三区| 亚洲国产三级网| 逼特逼视频在线观看| 色综合一区二区日本韩国亚洲 | 精品99久久久久久| 色噜噜狠狠一区二区| 肉色欧美久久久久久久免费看| 亚洲成人黄色影院| 欧美极品少妇无套实战| 成人在线观看免费网站| 国产精品久久久久久久久搜平片| 牛人盗摄一区二区三区视频| 视频二区在线观看| 北岛玲一区二区三区四区| 操一操视频一区| 性一交一乱一乱一视频| 国产精品69久久久久水密桃| 91亚洲精品一区二区| 国产普通话bbwbbwbbw| 美女看a上一区| 国产精品入口尤物| 一二三区在线播放| 狠狠v欧美v日韩v亚洲ⅴ| 91精品久久久久久久久久久久久| 亚洲一卡二卡在线| 国产一区二区在线观看视频| 亚洲自拍高清视频网站| 性中国xxx极品hd| 成人app下载| 免费在线观看91| melody高清在线观看| 国产精品污www在线观看| 亚洲午夜在线观看| 成码无人av片在线观看网站| 亚洲愉拍自拍另类高清精品| 欧美激情视频免费看| 日韩伦理三区| 欧美人妇做爰xxxⅹ性高电影| 亚洲一区二区中文字幕在线观看| 天堂精品久久久久| 亚洲另类xxxx| 蜜桃av.com| 悠悠资源网久久精品| 日韩av电影国产| 中文字幕在线观看你懂的| 国产一区二区在线免费观看| 国产欧美日韩一区| 国产专区在线| 国产精品国产a| 日韩久久在线| 女囚岛在线观看| 五月激情六月综合| 麻豆av免费在线| 亚洲影视资源| 亚洲第一页在线| 国产精品理论在线| 综合久久亚洲| 97精品久久久| 中文字幕av在线免费观看| 狠狠色丁香婷婷综合久久片| 国产精品v欧美精品∨日韩| 无码国产色欲xxxx视频| 国产亚洲欧美中文| 日韩一区免费观看| 亚洲无线看天堂av| 欧美日韩精品在线播放| 天天影视综合色| 电影中文字幕一区二区| 精品五月天久久| 很污很黄的网站| 亚洲国产一区二区精品专区| 国产精品一区二区久久精品| 亚洲高清精品视频| 国产网红主播福利一区二区| 特大黑人娇小亚洲女mp4| 三级在线观看视频| 欧美精品丝袜中出| 国产亚洲无码精品| 欧美精品自拍| 国产精品视频一区二区高潮| 日本高清视频免费看| 国产精品天天看| 精品少妇一区二区三区在线| 亚洲精品成a人ⅴ香蕉片| 亚洲精品一区二区三区香蕉| 少妇视频在线播放| 亚洲美洲欧洲综合国产一区| 国产精品美女无圣光视频| 午夜视频www| 亚洲天堂久久久久久久| 国产成人无码一二三区视频| 久久综合给合| 伊人久久综合97精品| 国产精品第一页在线观看| 久久99精品久久久久| 日韩动漫在线观看| 麻豆国产在线| 欧美一级高清大全免费观看| 蜜臀久久99精品久久久久久| 在线观看视频免费一区二区三区| 国产日韩精品入口| 精品成人一区二区三区免费视频| 亚洲国产中文字幕在线视频综合| 被黑人猛躁10次高潮视频| 欧美色爱综合| 啪一啪鲁一鲁2019在线视频| 亚洲免费一级片| 亚洲欧美一区二区在线观看| 日日躁夜夜躁aaaabbbb| 蜜臀av免费一区二区三区| 欧美男插女视频| 精品国产av 无码一区二区三区 | 懂色av粉嫩av蜜乳av| 影音先锋在线一区| 99九九电视剧免费观看| 看黄网站在线观看| 欧美女孩性生活视频| 亚洲精品国产一区黑色丝袜 | 日韩av一二三四| 精品国产一级毛片| 欧美亚洲国产成人精品| 国产麻豆91视频| 亚洲天天做日日做天天谢日日欢 | 成人在线视频国产| 久久精品人人爽| 国产又粗又猛又色又| 国产欧美日韩不卡免费| 97超碰成人在线| 亚洲啊v在线观看| 91免费视频网站| www久久日com| 欧美大片顶级少妇| 免费一级片在线观看| 国产乱对白刺激视频不卡| 亚洲精品美女久久7777777| 欧亚一区二区| 精品国产一区二区三区久久狼黑人| 日韩欧美国产另类| 国产精品色噜噜| 天天干天天曰天天操| 欧美日韩国产在线一区| 国产精品国产亚洲精品看不卡15| 超碰在线无需免费| 精品国产乱码久久久久久久久| 久久精品久久精品久久| 99久久精品国产网站| 黄色高清无遮挡| 99re6这里只有精品| 亚洲最大的免费| 爱情岛论坛亚洲品质自拍视频网站| 精品福利一区二区三区| 日本熟妇成熟毛茸茸| 国产色91在线| www.成人黄色| 亚洲激情国产| 欧美中日韩免费视频| 国产亚洲欧美日韩精品一区二区三区| 久久精品国产亚洲精品| 中国女人一级一次看片| 亚洲午夜电影在线| 亚洲一级中文字幕| 久久精品99国产精品| 日韩视频 中文字幕| 日韩系列在线| 91精品免费久久久久久久久| 视频在线观看入口黄最新永久免费国产 | aaa免费在线观看| 99热这里只有精品首页 | 国产精品亚洲视频| 日韩欧美亚洲天堂| 久久一区91| 国内一区二区在线视频观看| 福利一区在线| 97久久精品国产| 最新黄网在线观看| 亚洲欧美国产高清va在线播| 91在线你懂的| 丰满岳妇乱一区二区三区| 免费精品在线视频| 久久蜜桃香蕉精品一区二区三区| 激情内射人妻1区2区3区 | 国产97在线 | 亚洲| 91精品国产视频| 欧美日韩在线观看一区| 亚洲国产视频二区| 国产精品一香蕉国产线看观看| 免费在线小视频| 久久精品视频导航| 免费在线黄色电影| 亚洲国产日韩欧美综合久久| 国产精品久久影视| 欧美无乱码久久久免费午夜一区| 日本少妇激情舌吻| 亚洲成人久久影院| 欧美黄片一区二区三区| 亚洲国产精品99久久久久久久久| 亚洲国产精品自拍视频| 国产 日韩 欧美大片| 欧美激情第3页| 日韩电影在线看| 妞干网在线免费视频| 亚洲三级电影在线观看| 天天做天天爱天天高潮| 日本精品黄色| 日韩高清国产精品| 婷婷国产精品| 欧美一二三区| 亚洲精品进入| 精品国产乱码久久久久久久软件| 国产精品久久久久久久久久久久久久久| 欧美综合第一页| 精精国产xxxx视频在线播放| 久久综合亚洲社区| 天天色天天射天天综合网| 久久精品国产91精品亚洲| 第一视频专区在线| 亚洲欧洲日韩国产| 男人天堂资源在线| 欧美精品一区二区三区高清aⅴ| 亚洲第一页综合| 精品日韩欧美在线| 精品人妻无码一区二区色欲产成人| 欧美日韩一区二区三区在线看| 成人黄色片在线观看| 日本韩国欧美在线| 亚洲无码久久久久久久| 欧美精品18+| 国产视频在线一区| 日韩亚洲国产中文字幕欧美| 精品人妻午夜一区二区三区四区| 制服.丝袜.亚洲.另类.中文| 自拍偷拍精品视频| 欧美一区二区在线不卡| av网站在线免费看| 精品国产乱码久久久久久1区2区 | 日本一区二区三区视频在线播放 | 成人高清在线视频| 国产高清成人久久| 91麻豆免费观看| 国产艳俗歌舞表演hd| 欧美国产精品中文字幕| 中文字幕美女视频| 亚洲狠狠丁香婷婷综合久久久| 久久这里只有精品免费| 五月天婷婷综合| 天堂网一区二区| 欧美日韩精品一区视频| 国产同性人妖ts口直男| 亚洲国产毛片完整版| 国产午夜在线视频| 中文字幕亚洲一区| 中日韩高清电影网| 欧美一级淫片aaaaaaa视频| 欧美日韩视频免费观看| 国产精品私拍pans大尺度在线| 另类一区二区三区| 成人动漫在线视频| 深爱激情综合网| 男女爱爱视频网站| 亚洲一区二区三区免费在线观看| 亚洲成人福利在线观看| 黄页视频在线91| 国产精品第七页| 国产精品久久久久aaaa樱花| 国产小视频在线看| 色欧美日韩亚洲| 在线视频播放大全| 亚洲精品中文字幕女同| 黄色在线免费网站| 26uuu另类亚洲欧美日本老年| 国产成人福利夜色影视| 99久久99久久| 亚州综合一区| 日韩小视频网站| 奇米影视一区二区三区小说| 精品人妻一区二区乱码| 国产欧美精品日韩区二区麻豆天美| 国产成人无码aa精品一区| 色综合一区二区| 亚洲av无码一区二区三区性色| 亚洲精品自拍第一页| 乱人伦中文视频在线| 国产精品99久久久久久www| 91午夜精品| 亚洲五月六月| 亚洲欧美日韩国产一区| 欧美特黄aaa| 国产女主播视频一区二区| 久久精品视频6| 欧美高清精品3d| 黄色软件在线观看| 欧美精品成人在线| 午夜视频一区二区在线观看| 日韩中文一区二区三区| 在线视频精品| 不许穿内裤随时挨c调教h苏绵 | 国产激情在线播放| 亚洲已满18点击进入在线看片| 亚洲欧美日本伦理| 欧美视频在线免费播放| 国产精品88888| 久久成人激情视频| 性久久久久久久久| www.五月婷| 萌白酱国产一区二区| 亚洲国产aⅴ精品一区二区| 亚洲永久一区二区三区在线| 免费日韩av片| av直播在线观看| 欧美日韩一区二区在线播放| 天堂av电影在线观看| 午夜剧场成人观在线视频免费观看| 国产999精品在线观看| 中文字幕在线亚洲三区| 理论片日本一区| 亚洲国产精品免费在线观看| 欧美日韩国产一级片| 波多野结衣在线网站| 国产精品第一区| 成人免费在线观看av| 天堂av2020| 亚洲婷婷国产精品电影人久久| 91丨九色丨蝌蚪丨对白| 日韩在线www| 国内欧美日韩| 超碰10000| 不卡视频一二三| 亚洲精品午夜国产va久久成人| 亚洲激情视频在线播放| 大胆人体一区| 日韩国产高清一区| 麻豆精品久久久| 黑鬼狂亚洲人videos| 亚洲成年人在线| 日韩伦理精品| 水蜜桃亚洲精品| 精品一区二区在线免费观看| 免费在线观看黄色小视频| 精品国产伦一区二区三区观看体验| 2021中文字幕在线| 麻豆av一区二区三区| 日韩高清在线电影| 一二三四在线观看视频| 欧美高清激情brazzers| 日本无删减在线| 精品人伦一区二区三区| 中文亚洲免费| 国精产品久拍自产在线网站| 欧美一级理论片| 少妇视频在线观看| 亚洲一区免费看| 成人国产精品免费观看视频| 久久久精品免费看| xvideos亚洲| 国产精品115| 激情视频免费网站| 亚洲男人天堂一区| 天堂91在线| 91精品久久久久久久久中文字幕 | 日韩精品久久久久久久软件91| heyzo亚洲| 国产精品理伦片| 日韩在线观看视频一区| 国产精品一区二区女厕厕|