背景
HarmonyOS 論壇中有研發(fā)人員求助,反饋通知沒有沒有聲音,因此在真機(jī)上驗(yàn)證了一下,果不其然,沒有通知的提示音,后來解決辦法也非常簡(jiǎn)單,在手機(jī)設(shè)置應(yīng)用中,將可以打開的通知提示統(tǒng)統(tǒng)改為鈴聲。
問題是解決了,但有必要分享一下HarmonyOS中的通知問題
實(shí)踐總結(jié)
- slotType的設(shè)置,一定要放在 NotificationRequest 結(jié)構(gòu)體中,使用NotificationManager.addSlot 這個(gè)函數(shù)是不起作用的
- NOTIFICATION_CONTENT_PICTURE 這個(gè)類型的通知,并不會(huì)展示圖片
- NOTIFICATION_CONTENT_CONVERSATION 這個(gè)類型其實(shí)是不支持的
- 官方指導(dǎo) 圖片類型 通知樣例參數(shù)在 HarmonyOS SDK API 9上邊使用錯(cuò)誤
錯(cuò)誤參數(shù):pixelFormat:"ARGB_8888"
let opts = { editable:true, pixelFormat:"ARGB_8888", size: {height:100, width : 150}};
復(fù)制
更正:pixelFormat: image.PixelMapFormat.RGBA_8888, 即 枚舉類型
let opts = { editable:true, pixelFormat: image.PixelMapFormat.RGBA_8888, size: {height:100, width : 150}};
復(fù)制
準(zhǔn)備條件
- HarmonyOS 4.0
- HarmonyOS SDK API 9
實(shí)踐功能介紹
備注: 參照[指導(dǎo)][gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
- NOTIFICATION_CONTENT_BASIC_TEXT(普通文本類型)
- NOTIFICATION_CONTENT_LONG_TEXT (長文本類型)
- NOTIFICATION_CONTENT_MULTILINE (多行文本類型)
- NOTIFICATION_CONTENT_PICTURE (圖片類型)
- NOTIFICATION_CONTENT_CONVERSATION (會(huì)話類型)
- 進(jìn)度條類型 (個(gè)人觀點(diǎn):這個(gè)不是一個(gè)類型,僅僅是基于基礎(chǔ)通知類型從而實(shí)現(xiàn)的一個(gè)功能)
注意: NOTIFICATION_CONTENT_CONVERSATION 在SDK中出現(xiàn)了,官方指導(dǎo)中沒有說明
樣式說明
NOTIFICATION_CONTENT_BASIC_TEXT(普通文本類型)
NOTIFICATION_CONTENT_LONG_TEXT (長文本類型)
- 默認(rèn)狀態(tài)
- 展開狀態(tài)
NOTIFICATION_CONTENT_MULTILINE (多行文本類型)
默認(rèn)狀態(tài)
展開狀態(tài)
NOTIFICATION_CONTENT_PICTURE (圖片類型)
官網(wǎng)指導(dǎo)的樣子
進(jìn)度條通知
- 準(zhǔn)備下載
- 下載中
- 下載完成
- 下載失敗
SlotType
這個(gè)屬性功能真正使用時(shí)間,是今天才開始。
這個(gè)屬性功能,根據(jù)官方指導(dǎo),有兩種設(shè)置方式
第一種
let notificationRequest = {
id: 1, //可以按照自己應(yīng)用實(shí)際的情況,生成其它數(shù)字
slotType: NotificationManager.SlotType.SOCIAL_COMMUNICATION //可以選擇其它類型
}
NotificationManager.publish(notificationRequest)
復(fù)制
第二種
let notificationRequest = {
......
}
function addSlotCallBack(err) {
if (err) {
console.info("addSlot failed " + JSON.stringify(err));
} else {
console.info("addSlot success");
}
}
NotificationManager.addSlot(NotificationManager.SlotType.SOCIAL_COMMUNICATION, addSlotCallBack);
NotificationManager.publish(notificationRequest)
復(fù)制
其中第2種方式,實(shí)際是不生效的,雖然可以在控制臺(tái)看到日志輸出
SlotType 具體功能現(xiàn)象
根據(jù)第1種實(shí)現(xiàn)方式,如果沒有slotType這個(gè)字段,默認(rèn)值其實(shí)是其它類型,在代碼層面沒有表現(xiàn)出來,但是通過用戶設(shè)置交互層面,可以看到表象
場(chǎng)景設(shè)定
"普通文本", "長文本", "多行類型" 統(tǒng)一指定slotType為NotificationManager.SlotType.SOCIAL_COMMUNICATION
“帶圖片類型” 不設(shè)置slotType
真機(jī)場(chǎng)景查看
設(shè)置 -> 通知和狀態(tài)欄 -> 選擇自己的應(yīng)用(實(shí)踐應(yīng)用:HarmonyLearn)-> 找一下有沒有類別項(xiàng),如果沒有,可以根據(jù)本實(shí)踐主頁面進(jìn)一下相關(guān)操作
實(shí)踐主頁樣式
驗(yàn)證過程
- 點(diǎn)擊“帶圖片類型”, 按照“真機(jī)場(chǎng)景查看” 的步驟操作,應(yīng)該可以看到 “類別” 菜單了,但子菜單只有一個(gè) “社交通訊”
- 點(diǎn)擊"普通文本" / "長文本" / "多行類型", 按照“真機(jī)場(chǎng)景查看” 的步驟操作,應(yīng)該可以看到 “類別” 菜單中出現(xiàn)了一個(gè)“其他”子菜單
鈴聲行為設(shè)定
通過“驗(yàn)證過程”,已可以了解到,如果要設(shè)置通知鈴聲,可以進(jìn)入“社交通訊” & “其它” 里邊去詳細(xì)設(shè)置
橫幅樣式
在閱讀官方指導(dǎo)過程中,“橫幅通知” 這個(gè)詞應(yīng)該見到過,它的具體表現(xiàn)是什么樣子呢?
效果圖
如何設(shè)置
設(shè)置 -> 通知和狀態(tài)欄 -> 選擇自己的應(yīng)用(實(shí)踐應(yīng)用:HarmonyLearn -> 提醒方式 -> "橫幅通知"
審核編輯 黃宇
-
HarmonyOS
+關(guān)注
關(guān)注
80文章
2084瀏覽量
32222 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
191瀏覽量
4892
發(fā)布評(píng)論請(qǐng)先 登錄
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(游戲)
鴻蒙5開發(fā)案例分享揭秘---一多開發(fā)實(shí)例(商務(wù)辦公)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(地圖導(dǎo)航)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(旅行訂票)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(購物比價(jià))
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(社區(qū)評(píng)論)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(長視頻)
2025開源鴻蒙開發(fā)者大會(huì)圓滿落幕
鴻蒙北向開發(fā)OpenHarmony5.0 DevEco Studio開發(fā)工具安裝與配置

HarmonyOS 應(yīng)用開發(fā)賦能套件:鴻蒙原生應(yīng)用開發(fā)的 “神助攻”
OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發(fā)板演示

鴻蒙機(jī)器人與鴻蒙開發(fā)板聯(lián)動(dòng)演示
鴻蒙Flutter實(shí)戰(zhàn):07混合開發(fā)
華為發(fā)布鴻蒙原生智能,OS深度融合AI,小藝升級(jí)為系統(tǒng)級(jí)智能體

HDC2024華為發(fā)布鴻蒙原生智能:AI與OS深度融合,開啟全新的AI時(shí)代

評(píng)論