harmony 鸿蒙Publishing a Basic Notification
Publishing a Basic Notification
You can publish basic notifications to send SMS messages, prompt messages, and advertisements. Available content types of basic notifications include normal text, long text, multi-line text, and picture-attached.
Table 1 Basic notification content types
Type | Description |
---|---|
NOTIFICATION_CONTENT_BASIC_TEXT | Normal text notification. |
NOTIFICATION_CONTENT_LONG_TEXT | Long text notification. |
NOTIFICATION_CONTENT_MULTILINE | Multi-line text notification. |
NOTIFICATION_CONTENT_PICTURE | Picture-attached notification. |
Notifications are displayed in the notification panel, which is the only supported subscriber to notifications. Below you can see two examples of the basic notification.
Figure 1 Examples of the basic notification
Available APIs
The following table describes the APIs for notification publishing. You specify the notification type by setting the NotificationRequest parameter in the APIs.
Name | Description |
---|---|
publish(request: NotificationRequest, callback: AsyncCallback<void>): void | Publishes a notification. |
cancel(id: number, label: string, callback: AsyncCallback<void>): void | Cancels a notification. |
cancelAll(callback: AsyncCallback<void>): void; | Cancels all notifications published by the application. |
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';
import Base from '@ohos.base';
Create a NotificationRequest object and publish a progress notification.
- A normal text notification consists of the title, text, and additionalText parameters, of which title and text are mandatory. The value of these parameters contains less than 200 bytes.
let notificationRequest: notificationManager.NotificationRequest = { id: 1, content: { contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, // Basic notification normal: { title: 'test_title', text: 'test_text', additionalText: 'test_additionalText', } } }; notificationManager.publish(notificationRequest, (err:Base.BusinessError) => { if (err) { console.error(`Failed to publish notification. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in publishing notification.'); });
Below is an example of the normal text notification. - In addition to the parameters in the normal text notification, the long text notification provides the longText, briefText, and expandedTitle parameters. The value of longText contains a maximum of 1024 bytes, while that of any other parameters contains less than 200 bytes. By default, a long-text notification looks in the same way as a normal text notification. When expanded, the notification displays the title and content specified in expandedTitle and longText, respectively.
let notificationRequest: notificationManager.NotificationRequest = { id: 1, content: { contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_LONG_TEXT, // Long-text notification longText: { title: 'test_title', text: 'test_text', additionalText: 'test_additionalText', longText: 'test_longText', briefText: 'test_briefText', expandedTitle: 'test_expandedTitle', } } }; // Publish the notification. notificationManager.publish(notificationRequest, (err:Base.BusinessError) => { if (err) { console.error(`Failed to publish notification. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in publishing notification.'); });
Below is an example of the long-text notification. - In addition to the parameters in the normal text notification, the multi-line text notification provides the lines, briefText, and longTitle parameters. The value of these parameters contains less than 200 bytes. By default, a multi-line notification looks in the same way as a normal text notification. When expanded, the notification displays the title and content specified in longTitle and lines, respectively.
let notificationRequest: notificationManager.NotificationRequest = { id: 1, content: { contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_MULTILINE, // Multi-line text notification multiLine: { title: 'test_title', text: 'test_text', briefText: 'test_briefText', longTitle: 'test_longTitle', lines: ['line_01', 'line_02', 'line_03', 'line_04'], } } }; // Publish the notification. notificationManager.publish(notificationRequest, (err:Base.BusinessError) => { if (err) { console.error(`Failed to publish notification. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in publishing notification.'); });
Below is an example of the multi-line notification. - In addition to the parameters in the normal text notification, the picture-attached text notification provides the picture, briefText, and expandedTitle parameters. The value of picture is a PixelMap object that does not exceed 2 MB.
import image from '@ohos.multimedia.image'; let imagePixelMap: image.PixelMap|undefined = undefined; // Obtain the PixelMap information. let color = new ArrayBuffer(0); image.createPixelMap(color, { size: { height: 0, width: 0 } }).then((data: image.PixelMap) => { imagePixelMap = data; }).catch((err: Base.BusinessError) => { console.log(`createPixelMap failed, error: ${err}`); }) if (imagePixelMap !== undefined) { let notificationRequest: notificationManager.NotificationRequest = { id: 1, content: { contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_PICTURE, picture: { title: 'test_title', text: 'test_text', additionalText: 'test_additionalText', briefText: 'test_briefText', expandedTitle: 'test_expandedTitle', picture: imagePixelMap } } }; // Publish the notification. notificationManager.publish(notificationRequest, (err:Base.BusinessError) => { if (err) { console.error(`Failed to publish notification. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in publishing notification.'); }); }
Below is an example of the picture-attached notification.
你可能感兴趣的鸿蒙文章
harmony 鸿蒙Managing the Notification Badge
harmony 鸿蒙Enabling Notification
harmony 鸿蒙Notification Overview
harmony 鸿蒙Subscribing to Notifications (for System Applications Only)
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦