Publishing a Progress Notification
The progress notification is a commonly used notification type, mainly used to display the progress of an ongoing operation, such as file downloading. When publishing a progress notification through the notification subsystem, you can use the readily available template by specifying the related attributes, such as the template name and template data.
In the NotificationTemplate, which can only be of the progress type, data indicates custom template data.
Available APIs
Name | Description |
---|---|
isSupportTemplate(templateName: string, callback: AsyncCallback<boolean>): void | Checks whether a specific template is supported. This API uses an asynchronous callback to return the result. Only the progress-type template is supported. |
How to Develop
-
Enable notification. An application can use the notification feature only after being authorized by the user.
-
Import the module.
import NotificationManager from '@ohos.notificationManager';
-
Check whether a specific template is supported. In this example, the template of the downloadTemplate type is checked.
NotificationManager.isSupportTemplate('downloadTemplate').then((data) => { console.info(`[ANS] isSupportTemplate success`); let isSupportTpl: boolean = data; // The value true means that the template of the downloadTemplate type is supported, and false means the opposite. // ... }).catch((err) => { console.error(`[ANS] isSupportTemplate failed, error[${err}]`); });
NOTE
Proceed with the step below only when the specified template is supported.
-
Create a NotificationRequest object and publish a progress notification.
let notificationRequest = { id: 1, content: { contentType: NotificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, normal: { title: 'test_title', text: 'test_text', additionalText: 'test_additionalText' } }, // Create a progress template. The name field has a fixed value of downloadTemplate. template: { name: 'downloadTemplate', data: { title: 'File Title', fileName: 'music.mp4', progressValue: 45 } } } // Publish the notification. NotificationManager.publish(notificationRequest, (err) => { if (err) { console.error(`[ANS] failed to publish, error[${err}]`); return; } console.info(`[ANS] publish success `); });