精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

国产成人黄色av| 欧美日韩免费高清一区色橹橹| 亚洲综合一区二区精品导航| 欧美手机在线视频| 国产麻豆电影在线观看| www.色亚洲| 中国女人久久久| 一区二区成人av| 亚洲精品mv在线观看| heyzo在线播放| 91麻豆精品在线观看| 国产精品成人一区二区三区吃奶| 久久精品一区二区三区四区五区| 成人h动漫精品一区二区器材| 精品久久久视频| 永久久久久久| 香蕉久久国产av一区二区| 美女国产一区二区三区| 久久免费国产视频| 婷婷丁香综合网| 激情小说一区| 欧美探花视频资源| 日本一道本久久| 国产不卡在线| 国产三级一区二区| 国产经品一区二区| 亚洲一级av毛片| 一区二区动漫| 久色乳综合思思在线视频| 国内精品久久99人妻无码| av日韩一区| 色综合久久88色综合天天免费| 国产免费一区二区三区四在线播放| 香蕉久久一区二区三区| 国产成人午夜片在线观看高清观看| 国产激情视频一区| 日韩污视频在线观看| 久久精品一区二区不卡| 国产亚洲精品综合一区91| 亚洲少妇中文字幕| 精品视频在线播放一区二区三区| 色94色欧美sute亚洲线路一久| 久久亚洲国产成人精品无码区| 91ph在线| 国产女主播一区| 国产区二精品视| www日本视频| 久久99精品一区二区三区三区| 欧美一级淫片播放口| 国产一级在线观看视频| 中文精品电影| 日韩在线视频中文字幕| 免费看裸体网站| 伊人久久大香线蕉无限次| 欧美日韩1234| 精品国产乱码久久| 亚洲欧美日产图| 国产在线观看免费| 久久精品亚洲精品国产欧美| 久久精品成人一区二区三区蜜臀| 超碰在线观看av| 国产一区二三区好的| 国产精品专区一| 中文字幕乱码视频| 麻豆国产一区二区| 国产在线观看不卡| 国产模特av私拍大尺度| 国产精品亚洲一区二区三区在线| 91精品免费视频| 国产片高清在线观看| 精品午夜久久福利影院| 亚洲精品免费网站| 亚洲av永久纯肉无码精品动漫| 国产在线观看一区二区| 亚洲va久久久噜噜噜| а√天堂资源在线| 国产高清视频一区| 国产精品一区视频网站| 蜜臀av中文字幕| 成人av资源在线| 成人激情av在线| 在线观看中文字幕码| 精品在线亚洲视频| 成人淫片在线看| 国产精品久久久久久久久毛片| 麻豆freexxxx性91精品| 国产一区香蕉久久| www.av网站| 9久草视频在线视频精品| 欧洲一区二区日韩在线视频观看免费| 在线播放毛片| 亚洲美女少妇撒尿| 小说区图片区图片区另类灬| 在线观看免费黄视频| 国产精品久久久久久户外露出| 中文视频一区视频二区视频三区| 91高清在线观看视频| 性感美女久久精品| www.色就是色| 巨大黑人极品videos精品| 欧美区在线观看| 五月天六月丁香| 欧美成a人免费观看久久| 亚洲欧美制服第一页| 日本精品久久久久中文| 亚洲精品中文字幕乱码| 久久久之久亚州精品露出| www.av麻豆| 美女任你摸久久| 亚洲自拍在线观看| 日本一区二区三区在线观看视频| 久久综合九色综合久久久精品综合| 日本一区高清在线视频| 好了av在线| 麻豆精品蜜桃| 国产精品另类一区| 久久久无码中文字幕久...| 男人添女人下部高潮视频在线观看| 亚洲成精国产精品女| 在线免费视频a| 成人激情自拍| 怡红院精品视频| 欧美成人一区二区三区高清| 国产精品腿扒开做爽爽爽挤奶网站| 国产精品ⅴa在线观看h| 999久久久久| 国产女主播一区| 国产精品久久久久9999爆乳| 深夜视频一区二区| 亚洲精品一线二线三线| 99国产精品免费| 国产情侣久久| 91色精品视频在线| 免费毛片在线| 亚洲在线视频免费观看| 日本人视频jizz页码69| 久久午夜影院| 色婷婷久久一区二区| 亚洲成熟少妇视频在线观看| 东方欧美亚洲色图在线| 亚洲国产激情一区二区三区| 国产无遮挡裸体视频在线观看| 欧美日韩精品一区视频| 人人妻人人澡人人爽人人精品| 中文字幕日韩一区二区不卡 | 国产黄在线播放| 亚洲国产一区二区三区 | 亚洲国产福利| 日韩欧美国产一区二区三区| 337人体粉嫩噜噜噜| 国产精品视区| 国产精品久久久久av福利动漫| 免费黄色在线网站| 欧洲一区二区三区在线| 欧美xxxxx精品| 欧美在线看片| 91久久精品国产91性色| 在线视频三区| 欧美日韩在线三级| 美国黄色特级片| 日韩国产精品久久| 欧美性色黄大片人与善| 性欧美freesex顶级少妇| 亚洲国产精品va在线看黑人| 久久久久成人片免费观看蜜芽| 国产一区二区在线看| 亚洲一卡二卡三卡| 欧美成人毛片| 日韩中文理论片| 一区二区三区亚洲视频| 国产精品久久毛片av大全日韩| 久热精品在线观看视频| 日韩在线高清| 国产欧美在线视频| 在线观看av的网站| 91精品国产综合久久精品性色| 制服丨自拍丨欧美丨动漫丨| 老**午夜毛片一区二区三区| 亚洲免费不卡| 91国产精品| 欧美成人黑人xx视频免费观看| 国产欧美日韩成人| 有坂深雪av一区二区精品| 中文字幕欧美视频| 国产精品久久久一区二区| 久久亚洲免费| 性高爱久久久久久久久| 日韩在线免费视频观看| 色天使在线观看| 国产自产一区二区| 亚洲日本护士毛茸茸| 国产婷婷在线观看| 国产日韩欧美高清免费| 日韩精品大片| 亚洲成人a级片| 久久99热精品| 日韩精品福利| 在线区一区二视频| 免费成人深夜夜行网站| 成人免费av资源| 男人亚洲天堂网| 日韩一区三区| 久久99精品久久久久久三级| 日韩欧美另类一区二区| xxx欧美精品| 欧美一级在线免费观看| 色婷婷精品大在线视频 | 中文字幕日本人妻久久久免费| 国产精品久久久一本精品 | 成人午夜av影视| 国产1区2区在线| 91精品国产91久久综合| 国产精品手机视频| 中文另类视频| 久久久久久久久久久亚洲| 日本最黄一级片免费在线| 欧美成人女星排行榜| 欧美一区二区三区网站| 亚洲欧美另类小说视频| 中日韩精品一区二区三区| 韩国v欧美v日本v亚洲v| 一本久道高清无码视频| 国产精品久久久久久久久妇女| 国产在线视频欧美一区二区三区| 精品视频一区二区三区四区五区| 欧美猛男性生活免费| 国产视频精选在线| 亚洲成av人片在线观看香蕉| 男人天堂av在线播放| 一区二区三区四区在线免费观看| 中文字幕免费高清| 国产1区2区3区精品美女| 亚洲老女人av| 香蕉久久久久久久av网站| 日韩精品一区二区三区四区五区 | 成人在线影视| 一区二区三区精品99久久 | 亚洲色图 激情小说| av高清不卡在线| 日本高清免费在线视频| 日本视频一区二区三区| 在线日韩精品视频| 中日韩av在线播放| 香蕉国产精品偷在线观看不卡| 8x8x华人在线| 久久在线电影| 亚洲精品8mav| 少妇精品久久久一区二区三区 | 日本少妇全体裸体洗澡| 亚洲精品国产高清久久伦理二区| 精品人妻一区二区三区蜜桃视频| 成人丝袜高跟foot| 国产精品熟女一区二区不卡| 久久国产精品免费| 国产九九在线视频| 日本不卡的三区四区五区| 日日摸天天爽天天爽视频| 一区二区日本视频| 国产精品www在线观看| 国产精品国码视频| 国产欧美综合一区| 欧美日韩精选| 亚洲五码在线观看视频| 欧美国产专区| 欧美一级免费播放| 亚洲美女网站| 无码中文字幕色专区| 在线免费高清一区二区三区| 亚洲天堂第一区| 黄色av一区| 男人添女荫道口图片| 尤物网精品视频| 夜夜添无码一区二区三区| 亚洲经典在线看| 日本精品免费在线观看| 玖玖精品视频| 在线免费黄色网| 国产一区二区h| 色婷婷狠狠18禁久久| 国产成人在线免费观看| 中文字幕 日韩 欧美| 国产精品自在欧美一区| 69xxx免费视频| 菠萝蜜视频在线观看一区| 中文在线永久免费观看| 久久综合视频网| 国产精品suv一区二区88| 亚洲视频免费看| 国产一级视频在线观看| 精品久久久久久中文字幕一区奶水| 亚洲国产精品无码久久久| 欧美午夜影院一区| 国产精品久久久久精| 精品国产1区二区| youjizz在线播放| 美日韩丰满少妇在线观看| 暧暧视频在线免费观看| 日韩免费观看在线观看| 日韩免费大片| 国产一区二区不卡视频在线观看| 色爱av综合网| 欧美日韩免费高清| 久久久久av| 亚洲中文字幕无码中文字| 久久综合九色| 久久久久久久穴| 久久精品欧美日韩精品 | 波多野结衣在线观看一区二区三区 | 日韩精品99| 99久久无色码| 欧美精美视频| 欧美黄网在线观看| 久久午夜精品| 又色又爽又黄18网站| 欧美激情一二三区| 免费观看一级视频| 欧美日韩免费在线视频| 99精品在线看| 一区二区在线视频| 波多野结衣乳巨码无在线观看| 国产精品偷伦一区二区| 老牛国内精品亚洲成av人片| 日韩视频在线免费播放| 久久先锋资源| 亚洲av综合色区无码另类小说| 久久精品欧美一区二区三区不卡| 欧美日韩在线视频免费播放| 欧美日韩中字一区| 偷拍自拍在线| 欧美精品免费看| 欧美亚洲黄色| 欧美一区二区三区四区五区六区 | 亚洲丁香久久久| 日韩免费啪啪| 日本乱人伦a精品| eeuss鲁片一区二区三区| 日韩片电影在线免费观看| 国产日韩1区| 极品白嫩的小少妇| 日韩一区欧美小说| 亚洲成熟少妇视频在线观看| 日韩av影片在线观看| 色呦呦呦在线观看| 91免费看网站| 一本一道久久综合狠狠老| 992kp免费看片| 国产精品网曝门| 黄色av免费在线播放| 激情国产在线| 国产精品爽黄69天堂a| 久久99国产精品视频| 免费日韩中文字幕| 97精品久久久午夜一区二区三区| 国产女人被狂躁到高潮小说| 欧美影视一区二区三区| 欧美熟妇乱码在线一区| 久久久久久久久久久免费精品| 秋霞影院一区| 国产一区二区三区播放| 国产一区二区毛片| 青娱乐在线视频免费观看| 亚洲二区中文字幕| 水蜜桃在线视频| 久久精品日产第一区二区三区| 欧美日韩国内| 久久久久久久久久久久久久久国产 | 波多野结衣影片| 在线a欧美视频| 日本精品另类| 一区二区三区四区不卡| 米奇777在线欧美播放| 亚洲精品91在线| 欧美三片在线视频观看 | 91在线视频免费观看| 综合激情网五月| 欧美精品一区二区三区在线| 欧美男人天堂| 青青成人在线| 蜜桃一区二区三区在线观看| 五月天色婷婷丁香| 欧美一区二区三区小说| h片视频在线观看| 久久久久se| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲黄色网址大全| 日韩精品专区在线影院重磅| 香蕉伊大人中文在线观看| 一区二区视频在线免费| 国产精品99久久久久久久vr| 国产无套在线观看| 亚洲欧美中文另类| 伊人亚洲精品| 阿v天堂2018| 久久欧美一区二区| 国产乱码精品一区二区| 欧美国产日本高清在线 | 成人免费毛片日本片视频| 色乱码一区二区三区88| 成年人在线视频| 999热视频在线观看|