背景
HarmonyOS 論壇中有研發(fā)人員求助,反饋通知沒有沒有聲音,因此在真機上驗證了一下,果不其然,沒有通知的提示音,后來解決辦法也非常簡單,在手機設(shè)置應(yīng)用中,將可以打開的通知提示統(tǒng)統(tǒng)改為鈴聲。
問題是解決了,但有必要分享一下HarmonyOS中的通知問題
實踐總結(jié)
- slotType的設(shè)置,一定要放在 NotificationRequest 結(jié)構(gòu)體中,使用NotificationManager.addSlot 這個函數(shù)是不起作用的
- NOTIFICATION_CONTENT_PICTURE 這個類型的通知,并不會展示圖片
- NOTIFICATION_CONTENT_CONVERSATION 這個類型其實是不支持的
- 官方指導(dǎo) 圖片類型 通知樣例參數(shù)在 HarmonyOS SDK API 9上邊使用錯誤
錯誤參數(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
實踐功能介紹
備注: 參照[指導(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 (會話類型)
- 進(jìn)度條類型 (個人觀點:這個不是一個類型,僅僅是基于基礎(chǔ)通知類型從而實現(xiàn)的一個功能)
注意: 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
這個屬性功能真正使用時間,是今天才開始。
這個屬性功能,根據(jù)官方指導(dǎo),有兩種設(shè)置方式
第一種
let notificationRequest = {
id: 1, //可以按照自己應(yīng)用實際的情況,生成其它數(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種方式,實際是不生效的,雖然可以在控制臺看到日志輸出
SlotType 具體功能現(xiàn)象
根據(jù)第1種實現(xiàn)方式,如果沒有slotType這個字段,默認(rèn)值其實是其它類型,在代碼層面沒有表現(xiàn)出來,但是通過用戶設(shè)置交互層面,可以看到表象
場景設(shè)定
"普通文本", "長文本", "多行類型" 統(tǒng)一指定slotType為NotificationManager.SlotType.SOCIAL_COMMUNICATION
“帶圖片類型” 不設(shè)置slotType
真機場景查看
設(shè)置 -> 通知和狀態(tài)欄 -> 選擇自己的應(yīng)用(實踐應(yīng)用:HarmonyLearn)-> 找一下有沒有類別項,如果沒有,可以根據(jù)本實踐主頁面進(jìn)一下相關(guān)操作
實踐主頁樣式
驗證過程
- 點擊“帶圖片類型”, 按照“真機場景查看” 的步驟操作,應(yīng)該可以看到 “類別” 菜單了,但子菜單只有一個 “社交通訊”
- 點擊"普通文本" / "長文本" / "多行類型", 按照“真機場景查看” 的步驟操作,應(yīng)該可以看到 “類別” 菜單中出現(xiàn)了一個“其他”子菜單
鈴聲行為設(shè)定
通過“驗證過程”,已可以了解到,如果要設(shè)置通知鈴聲,可以進(jìn)入“社交通訊” & “其它” 里邊去詳細(xì)設(shè)置
橫幅樣式
在閱讀官方指導(dǎo)過程中,“橫幅通知” 這個詞應(yīng)該見到過,它的具體表現(xiàn)是什么樣子呢?
效果圖
如何設(shè)置
設(shè)置 -> 通知和狀態(tài)欄 -> 選擇自己的應(yīng)用(實踐應(yīng)用:HarmonyLearn -> 提醒方式 -> "橫幅通知"
審核編輯 黃宇
-
HarmonyOS
+關(guān)注
關(guān)注
80文章
2126瀏覽量
33058 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
191瀏覽量
4992
發(fā)布評論請先 登錄
【HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實踐

開鴻開發(fā)板深度體驗:從開源鴻蒙開發(fā)到AI場景實踐

鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(音樂)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(游戲)
鴻蒙5開發(fā)案例分享揭秘---一多開發(fā)實例(商務(wù)辦公)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(地圖導(dǎo)航)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(旅行訂票)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(購物比價)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(社區(qū)評論)
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(長視頻)
2025開源鴻蒙開發(fā)者大會圓滿落幕
鴻蒙北向開發(fā)OpenHarmony5.0 DevEco Studio開發(fā)工具安裝與配置

評論