com.nokia.mid.ui
Class SoftNotification

java.lang.Object
  extended by com.nokia.mid.ui.SoftNotification

public abstract class SoftNotification
extends java.lang.Object

The SoftNotification is a class to manage soft notifications. Soft notifications are reminders that inform the user of events that have occurred in the user's absence, or while the user was busy with some application. Text, and also graphics, can be used to communicate the message to the user. Soft notifications are displayed as pop-ups in device home screen (idle view).

This API is an optional feature in Nokia UI API, and depending on the device capabilities there may be implementations that do not support soft notifications. The System.getProperty("com.nokia.mid.ui.softnotification") will return "true" if this feature is available in the device.

Soft notifications are persistent and restarting the device does not delete created soft notifications from the home screen.

The user can respond to the soft notification by using the softkeys. The softkey 1 is used for activating a function, for example opening a message that has arrived. Application that created the soft notification will be activated when the soft notification is accepted by the user. The softkey 2 is used to discard the notification without taking any further action.

The application that launched a soft notification can control it and also discard it. It is possible to use the Applications key during a soft notification; in that case, the soft notification disappears, but reappears when the user returns to the device home screen, unless the application responsible for the notification has discarded it.

Since:
1.3

Constructor Summary
protected SoftNotification()
          Hidden default constructor.
 
Method Summary
abstract  int getId()
          Get soft notification identification of this instance.
static SoftNotification newInstance()
          Returns a new instance of SoftNotification class.
static SoftNotification newInstance(int notificationId)
          Returns a new instance of SoftNotification class with a reference to previous soft notification instance.
abstract  void post()
          Shows a new soft notification or updates the content of previously posted notification.
abstract  void remove()
          Removes the posted soft notification from the device home screen.
abstract  void setImage(byte[] image)
          Sets an image to be displayed in the soft notification.
abstract  void setListener(SoftNotificationListener listener)
          Sets listener for the soft notification.
abstract  void setSoftkeyLabels(java.lang.String softkey1Label, java.lang.String softkey2Label)
          Sets the textual labels for the softkeys.
abstract  void setText(java.lang.String text, java.lang.String groupText)
          Sets the text field to be displayed in the soft notification.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SoftNotification

protected SoftNotification()
Hidden default constructor.

Method Detail

newInstance

public static SoftNotification newInstance(int notificationId)
Returns a new instance of SoftNotification class with a reference to previous soft notification instance. Identification is used to access a soft notification created by another instance of SoftNotification. If the provided identification is valid and such soft notification exists, it can be updated and removed through this instance. If the identification is not valid or does not exist, it will be ignored and a new soft notification is created as defined in newInstance().

Parameters:
notificationId - identification of previous soft notification.
Returns:
An instance of SoftNotification class.
See Also:
getId()

newInstance

public static SoftNotification newInstance()
Returns a new instance of SoftNotification class. This instance's identification will be a nonvalid negative value until post() is called.

Returns:
an instance of SoftNotification class.

getId

public abstract int getId()
Get soft notification identification of this instance. Soft notifications are persistent, so client should store the identification, if it wants to access the soft notification from another instance e.g. after device is restarted. Notice that identification might change during the lifetime of the instance if post() is called.

Returns:
Soft notification identification.
See Also:
newInstance(int notificationId)

post

public abstract void post()
                   throws SoftNotificationException
Shows a new soft notification or updates the content of previously posted notification. If the application did not specify a valid identification in the notification construction, then new identification will be generated on first call to post(). If previously posted soft notification does not exist, a new one is created and a new identification will be generated. Client needs to set the attributes shown in the soft notification before calling post or the default values will be used. This call does not reset assigned text, image or softkeys. Notice that identification of the soft notification may change every time the function is called. So when needed, it is recommended to ask the latest id from the notification by using getId() function.

Throws:
SoftNotificationException - if posting operation fails.

remove

public abstract void remove()
                     throws SoftNotificationException
Removes the posted soft notification from the device home screen. If the soft notification has not been posted or it has already been removed, this call does nothing. Remove is automatically called when the user accepts or dismisses the soft notification.

Throws:
SoftNotificationException - if removing the note fails.

setListener

public abstract void setListener(SoftNotificationListener listener)
Sets listener for the soft notification. Listener is notified when the user accepts or dismisses the soft notification. Setting a new listener will overwrite the previous listener. Listener can be removed by setting it to null.

Parameters:
listener - for the soft notification.

setText

public abstract void setText(java.lang.String text,
                             java.lang.String groupText)
                      throws SoftNotificationException
Sets the text field to be displayed in the soft notification. The platform may truncate the text to a suitable size to fit into the soft notification. If the text is not set before calling post(), the default value "" is used. An ungrouped soft notification has multiple lines for the text, but a grouped notification has only one line. Therefore the text assigned for a grouped notification should be shorter. Multiple lines can be created by adding a line break (character '\n') inside the string. A notification supports grouping if groupText is other than null or an empty string (""). Notice that the modified soft notification data is not visible for the user until post() is called.

Parameters:
text - to be displayed in the soft notification when ungrouped soft notification is shown.
groupText - be to displayed in the soft notification when there are also other notifications visible (grouped form). The notification will not support grouping if null or an empty string ("") is used.
Throws:
SoftNotificationException - if setting text fails.

setSoftkeyLabels

public abstract void setSoftkeyLabels(java.lang.String softkey1Label,
                                      java.lang.String softkey2Label)
                               throws SoftNotificationException
Sets the textual labels for the softkeys. The platform may truncate the text to a suitable size to fit to the softkey labels, so a relatively short texts are preferred for the labels. If labels are not provided, then the default softkeys will be used (Show & Exit). The functionalities of these softkeys remain always the same even if their texts are changed. Softkey 1 (Show) opens up the application and dismisses the soft notification. Softkey 2 (Exit) dismisses the soft notification. Notice that the modified soft notification data is not visible for the user until post() is called.

Parameters:
softkey1Label - - Text for the softkey 1.
softkey2Label - - Text for the softkey 2.
Throws:
SoftNotificationException - if setting softkeys fails.

setImage

public abstract void setImage(byte[] image)
                       throws SoftNotificationException
Sets an image to be displayed in the soft notification. The image can be in any format that the platform's image decoder or SVG engine is able to decode (for example, JPG, GIF, PNG, and SVG (even SVGS and MBM) images may be supported in the platform). Image mask is used when available. The image is given as a byte array, for example the data may be read directly from the file system or MIDlet JAR package. Images will be scaled to fit in the soft notification pop-up as the image area of the notification is relatively small. For saving resources in scaling, the size of the image should be kept small (preferably no larger than 300x300 px). The function can also be used for removing an already set image from the soft notification. This can be done by setting null instead of any actual image. Notice that the modified soft notification data is not visible for the user until post() is called.

Parameters:
image - to be displayed in the soft notification or null if any existing image should be removed from the notification.
Throws:
SoftNotificationException - - Thrown if setting image fails.


Copyright © 2012 Nokia Corporation. All rights reserved.

Nokia is registered trademark of Nokia Corporation. Java and all Java-based marks are trademarks or registered trademarks of Oracle Corporation. Other product and company names mentioned herein may be trademarks or trade names of their respective owners. This document is confidential information of Nokia Corporation.

Disclaimer
The information in this document is provided "as is," with no warranties whatsoever, including any warranty of merchantability, fitness for any particular purpose, or any warranty otherwise arising out of any proposal, specification, or sample. Furthermore, information provided in this document is preliminary, and may be changed substantially prior to final release.

Nokia Corporation disclaims all liability, including liability for infringement of any proprietary rights, relating to this document and implementation of any information presented in this document.

Nokia Corporation retains the right to make changes to this document at any time, without notice.

License
Subject to above disclaimer, a license is hereby granted to use this documentation solely under existing Limited License Agreement and non-disclosure agreement between the companies for the agreed application development for Series 40 Nokia phones. No other licenses e.g. to any intellectual property rights are granted herein. Any use of the screen shots of this documentation, including any icons thereof, is subject to Nokia's prior written approval.