發(fā)布進度條類型通知

2024-02-16 13:50 更新

進度條通知也是常見的通知類型,主要應(yīng)用于文件下載、事務(wù)處理進度顯示。HarmonyOS提供了進度條模板,發(fā)布通知應(yīng)用設(shè)置好進度條模板的屬性值,如模板名、模板數(shù)據(jù),通過通知子系統(tǒng)發(fā)送到通知欄顯示。

目前系統(tǒng)模板僅支持進度條模板,通知模板NotificationTemplate中的data參數(shù)為用戶自定義數(shù)據(jù),用于顯示與模塊相關(guān)的數(shù)據(jù),效果示意如下圖所示。

接口說明

isSupportTemplate()是查詢模板是否支持接口,目前僅支持進度條模板。

接口名

描述

isSupportTemplate(templateName: string, callback: AsyncCallback<boolean>): void

查詢模板是否存在。

開發(fā)步驟

  1. 導(dǎo)入模塊。

    1. import NotificationManager from '@ohos.notificationManager';
  2. 查詢系統(tǒng)是否支持進度條模板,查詢結(jié)果為支持downloadTemplate模板類通知。

    1. NotificationManager.isSupportTemplate('downloadTemplate').then((data) => {
    2. console.info(`[ANS] isSupportTemplate success`);
    3. let isSupportTpl: boolean = data; // isSupportTpl的值為true表示支持支持downloadTemplate模板類通知,false表示不支持
    4. // ...
    5. }).catch((err) => {
    6. console.error(`[ANS] isSupportTemplate failed, error[${err}]`);
    7. });
    說明

    查詢系統(tǒng)支持進度條模板后,再進行后續(xù)的步驟操作。

  3. 構(gòu)造進度條模板對象,并發(fā)布通知。

    1. let template = {
    2. name:'downloadTemplate',
    3. data: {
    4. title: '標(biāo)題:',
    5. fileName: 'music.mp4',
    6. progressValue: 30,
    7. progressMaxValue:100,
    8. }
    9. }
    10. //構(gòu)造NotificationRequest對象
    11. let notificationRquest = {
    12. id: 1,
    13. slotType: notify.SlotType.OTHER_TYPES,
    14. template: template,
    15. content: {
    16. contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
    17. normal: {
    18. title: template.data.title + template.data.fileName,
    19. text: "sendTemplate",
    20. additionalText: "30%"
    21. }
    22. },
    23. deliveryTime: new Date().getTime(),
    24. showDeliveryTime: true
    25. }
    26. notify.publish(notificationRquest).then(() => {
    27. console.info(`[ANS] publish success `);
    28. }).catch((err) => {
    29. console.error(`[ANS] failed to publish, error[${err}]`);
    30. });
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號