Notification service
The Notification Service provides a generic access and an easy way to manage notifications. There is 4 possibles actions:
- Command: execute a command
- Log message: log a message through the application log system
- Popup message: show a popup message (through the systray service for example)
- Sound: play a sound
These actions can be combined to create a notification.
Create a notification
To create a notification you have to create the actions associated to this notification. There is two methods to register an action:
- registerNotificationForEvent
- registerDefaultNotificationForEvent
To create the notification, you should use the second one. It’s used to register the default settings. Attention: if the notification is created with the first method and the user restores the defaults settings, you notification will be erased.
For more informations see the API of the service.
Example
// Get service from the BundleContext
ServiceReference serviceReference = bundleContext.getServiceReference(NotificationService.class.getName());
NotificationService notificationService = (NotificationService) bundleContext.getService(serviceReference);
if(notificationService != null)
{
// Register a popup message for a Test notification
notificationService.registerDefaultNotificationForEvent(
"TestNotification",
NotificationService.ACTION_POPUP_MESSAGE,
null,
null);
// Register a sound action for a Test notification
notificationService.registerDefaultNotificationForEvent(
"TestNotification",
NotificationService.ACTION_SOUND,
SoundProperties.INCOMING_MESSAGE,
null);
}
ServiceReference serviceReference = bundleContext.getServiceReference(NotificationService.class.getName());
NotificationService notificationService = (NotificationService) bundleContext.getService(serviceReference);
if(notificationService != null)
{
// Register a popup message for a Test notification
notificationService.registerDefaultNotificationForEvent(
"TestNotification",
NotificationService.ACTION_POPUP_MESSAGE,
null,
null);
// Register a sound action for a Test notification
notificationService.registerDefaultNotificationForEvent(
"TestNotification",
NotificationService.ACTION_SOUND,
SoundProperties.INCOMING_MESSAGE,
null);
}
Fire a notification
To fire a notification you just have to call one of the two form of the fireNotification method.
Example
// Get service from the BundleContext
ServiceReference serviceReference = bundleContext.getServiceReference(NotificationService.class.getName());
NotificationService notificationService = (NotificationService) bundleContext.getService(serviceReference);
if (notificationService != null)
{
notificationService.fireNotification("TestNotification", "Title", "Message");
}
ServiceReference serviceReference = bundleContext.getServiceReference(NotificationService.class.getName());
NotificationService notificationService = (NotificationService) bundleContext.getService(serviceReference);
if (notificationService != null)
{
notificationService.fireNotification("TestNotification", "Title", "Message");
}