android.support.v4.app
Class NotificationCompat.Builder

java.lang.Object
  extended by android.support.v4.app.NotificationCompat.Builder
Enclosing class:
NotificationCompat

public static class NotificationCompat.Builder
extends Object

Builder class for NotificationCompat objects. Allows easier control over all the flags, as well as help constructing the typical notification layouts.

On platform versions that don't offer expanded notifications, methods that depend on expanded notifications have no effect.

For example, action buttons won't appear on platforms prior to Android 4.1. Action buttons depend on expanded notifications, which are only available in Android 4.1 and later.

For this reason, you should always ensure that UI controls in a notification are also available in an Activity in your app, and you should always start that Activity when users click the notification. To do this, use the setContentIntent() method.


Constructor Summary
NotificationCompat.Builder(android.content.Context context)
          Constructor.
 
Method Summary
 NotificationCompat.Builder addAction(int icon, CharSequence title, android.app.PendingIntent intent)
          Add an action to this notification.
 android.app.Notification build()
          Combine all of the options that have been set and return a new Notification object.
 android.app.Notification getNotification()
          Deprecated. Use build() instead.
 NotificationCompat.Builder setAutoCancel(boolean autoCancel)
          Setting this flag will make it so the notification is automatically canceled when the user clicks it in the panel.
 NotificationCompat.Builder setContent(android.widget.RemoteViews views)
          Supply a custom RemoteViews to use instead of the standard one.
 NotificationCompat.Builder setContentInfo(CharSequence info)
          Set the large text at the right-hand side of the notification.
 NotificationCompat.Builder setContentIntent(android.app.PendingIntent intent)
          Supply a PendingIntent to send when the notification is clicked.
 NotificationCompat.Builder setContentText(CharSequence text)
          Set the text (second row) of the notification, in a standard notification.
 NotificationCompat.Builder setContentTitle(CharSequence title)
          Set the title (first row) of the notification, in a standard notification.
 NotificationCompat.Builder setDefaults(int defaults)
          Set the default notification options that will be used.
 NotificationCompat.Builder setDeleteIntent(android.app.PendingIntent intent)
          Supply a PendingIntent to send when the notification is cleared by the user directly from the notification panel.
 NotificationCompat.Builder setFullScreenIntent(android.app.PendingIntent intent, boolean highPriority)
          An intent to launch instead of posting the notification to the status bar.
 NotificationCompat.Builder setLargeIcon(android.graphics.Bitmap icon)
          Set the large icon that is shown in the ticker and notification.
 NotificationCompat.Builder setLights(int argb, int onMs, int offMs)
          Set the argb value that you would like the LED on the device to blnk, as well as the rate.
 NotificationCompat.Builder setNumber(int number)
          Set the large number at the right-hand side of the notification.
 NotificationCompat.Builder setOngoing(boolean ongoing)
          Set whether this is an ongoing notification.
 NotificationCompat.Builder setOnlyAlertOnce(boolean onlyAlertOnce)
          Set this flag if you would only like the sound, vibrate and ticker to be played if the notification is not already showing.
 NotificationCompat.Builder setPriority(int pri)
          Set the relative priority for this notification.
 NotificationCompat.Builder setProgress(int max, int progress, boolean indeterminate)
          Set the progress this notification represents, which may be represented as a ProgressBar.
 NotificationCompat.Builder setSmallIcon(int icon)
          Set the small icon to use in the notification layouts.
 NotificationCompat.Builder setSmallIcon(int icon, int level)
          A variant of setSmallIcon(int) that takes an additional level parameter for when the icon is a LevelListDrawable.
 NotificationCompat.Builder setSound(android.net.Uri sound)
          Set the sound to play.
 NotificationCompat.Builder setSound(android.net.Uri sound, int streamType)
          Set the sound to play.
 NotificationCompat.Builder setStyle(NotificationCompat.Style style)
          Add a rich notification style to be applied at build time.
 NotificationCompat.Builder setSubText(CharSequence text)
          Set the third line of text in the platform notification template.
 NotificationCompat.Builder setTicker(CharSequence tickerText)
          Set the text that is displayed in the status bar when the notification first arrives.
 NotificationCompat.Builder setTicker(CharSequence tickerText, android.widget.RemoteViews views)
          Set the text that is displayed in the status bar when the notification first arrives, and also a RemoteViews object that may be displayed instead on some devices.
 NotificationCompat.Builder setUsesChronometer(boolean b)
          Show the Notification.when field as a stopwatch.
 NotificationCompat.Builder setVibrate(long[] pattern)
          Set the vibration pattern to use.
 NotificationCompat.Builder setWhen(long when)
          Set the time that the event occurred.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NotificationCompat.Builder

public NotificationCompat.Builder(android.content.Context context)
Constructor. Automatically sets the when field to System.currentTimeMillis() and the audio stream to the Notification.STREAM_DEFAULT.

Parameters:
context - A Context that will be used to construct the RemoteViews. The Context will not be held past the lifetime of this Builder object.
Method Detail

setWhen

public NotificationCompat.Builder setWhen(long when)
Set the time that the event occurred. Notifications in the panel are sorted by this time.


setUsesChronometer

public NotificationCompat.Builder setUsesChronometer(boolean b)
Show the Notification.when field as a stopwatch. Instead of presenting when as a timestamp, the notification will show an automatically updating display of the minutes and seconds since when. Useful when showing an elapsed time (like an ongoing phone call).

See Also:
Chronometer, Notification.when

setSmallIcon

public NotificationCompat.Builder setSmallIcon(int icon)
Set the small icon to use in the notification layouts. Different classes of devices may return different sizes. See the UX guidelines for more information on how to design these icons.

Parameters:
icon - A resource ID in the application's package of the drawble to use.

setSmallIcon

public NotificationCompat.Builder setSmallIcon(int icon,
                                               int level)
A variant of setSmallIcon(int) that takes an additional level parameter for when the icon is a LevelListDrawable.

Parameters:
icon - A resource ID in the application's package of the drawble to use.
level - The level to use for the icon.
See Also:
LevelListDrawable

setContentTitle

public NotificationCompat.Builder setContentTitle(CharSequence title)
Set the title (first row) of the notification, in a standard notification.


setContentText

public NotificationCompat.Builder setContentText(CharSequence text)
Set the text (second row) of the notification, in a standard notification.


setSubText

public NotificationCompat.Builder setSubText(CharSequence text)
Set the third line of text in the platform notification template. Don't use if you're also using setProgress(int, int, boolean); they occupy the same location in the standard template.
If the platform does not provide large-format notifications, this method has no effect. The third line of text only appears in expanded view.


setNumber

public NotificationCompat.Builder setNumber(int number)
Set the large number at the right-hand side of the notification. This is equivalent to setContentInfo, although it might show the number in a different font size for readability.


setContentInfo

public NotificationCompat.Builder setContentInfo(CharSequence info)
Set the large text at the right-hand side of the notification.


setProgress

public NotificationCompat.Builder setProgress(int max,
                                              int progress,
                                              boolean indeterminate)
Set the progress this notification represents, which may be represented as a ProgressBar.


setContent

public NotificationCompat.Builder setContent(android.widget.RemoteViews views)
Supply a custom RemoteViews to use instead of the standard one.


setContentIntent

public NotificationCompat.Builder setContentIntent(android.app.PendingIntent intent)
Supply a PendingIntent to send when the notification is clicked. If you do not supply an intent, you can now add PendingIntents to individual views to be launched when clicked by calling RemoteViews.setOnClickPendingIntent(int,PendingIntent). Be sure to read Notification.contentIntent for how to correctly use this.


setDeleteIntent

public NotificationCompat.Builder setDeleteIntent(android.app.PendingIntent intent)
Supply a PendingIntent to send when the notification is cleared by the user directly from the notification panel. For example, this intent is sent when the user clicks the "Clear all" button, or the individual "X" buttons on notifications. This intent is not sent when the application calls NotificationManager.cancel(int).


setFullScreenIntent

public NotificationCompat.Builder setFullScreenIntent(android.app.PendingIntent intent,
                                                      boolean highPriority)
An intent to launch instead of posting the notification to the status bar. Only for use with extremely high-priority notifications demanding the user's immediate attention, such as an incoming phone call or alarm clock that the user has explicitly set to a particular time. If this facility is used for something else, please give the user an option to turn it off and use a normal notification, as this can be extremely disruptive.

Parameters:
intent - The pending intent to launch.
highPriority - Passing true will cause this notification to be sent even if other notifications are suppressed.

setTicker

public NotificationCompat.Builder setTicker(CharSequence tickerText)
Set the text that is displayed in the status bar when the notification first arrives.


setTicker

public NotificationCompat.Builder setTicker(CharSequence tickerText,
                                            android.widget.RemoteViews views)
Set the text that is displayed in the status bar when the notification first arrives, and also a RemoteViews object that may be displayed instead on some devices.


setLargeIcon

public NotificationCompat.Builder setLargeIcon(android.graphics.Bitmap icon)
Set the large icon that is shown in the ticker and notification.


setSound

public NotificationCompat.Builder setSound(android.net.Uri sound)
Set the sound to play. It will play on the default stream.


setSound

public NotificationCompat.Builder setSound(android.net.Uri sound,
                                           int streamType)
Set the sound to play. It will play on the stream you supply.

See Also:
#STREAM_DEFAULT, for the STREAM_ constants.

setVibrate

public NotificationCompat.Builder setVibrate(long[] pattern)
Set the vibration pattern to use.

See Also:
for a discussion of the pattern parameter.

setLights

public NotificationCompat.Builder setLights(int argb,
                                            int onMs,
                                            int offMs)
Set the argb value that you would like the LED on the device to blnk, as well as the rate. The rate is specified in terms of the number of milliseconds to be on and then the number of milliseconds to be off.


setOngoing

public NotificationCompat.Builder setOngoing(boolean ongoing)
Set whether this is an ongoing notification.

Ongoing notifications differ from regular notifications in the following ways:


setOnlyAlertOnce

public NotificationCompat.Builder setOnlyAlertOnce(boolean onlyAlertOnce)
Set this flag if you would only like the sound, vibrate and ticker to be played if the notification is not already showing.


setAutoCancel

public NotificationCompat.Builder setAutoCancel(boolean autoCancel)
Setting this flag will make it so the notification is automatically canceled when the user clicks it in the panel. The PendingIntent set with setDeleteIntent(android.app.PendingIntent) will be broadcast when the notification is canceled.


setDefaults

public NotificationCompat.Builder setDefaults(int defaults)
Set the default notification options that will be used.

The value should be one or more of the following fields combined with bitwise-or: Notification.DEFAULT_SOUND, Notification.DEFAULT_VIBRATE, Notification.DEFAULT_LIGHTS.

For all default values, use Notification.DEFAULT_ALL.


setPriority

public NotificationCompat.Builder setPriority(int pri)
Set the relative priority for this notification. Priority is an indication of how much of the user's valuable attention should be consumed by this notification. Low-priority notifications may be hidden from the user in certain situations, while the user might be interrupted for a higher-priority notification. The system sets a notification's priority based on various factors including the setPriority value. The effect may differ slightly on different platforms.


addAction

public NotificationCompat.Builder addAction(int icon,
                                            CharSequence title,
                                            android.app.PendingIntent intent)
Add an action to this notification. Actions are typically displayed by the system as a button adjacent to the notification content.
Action buttons won't appear on platforms prior to Android 4.1. Action buttons depend on expanded notifications, which are only available in Android 4.1 and later. To ensure that an action button's functionality is always available, first implement the functionality in the Activity that starts when a user clicks the notification (see setContentIntent()), and then enhance the notification by implementing the same functionality with addAction().

Parameters:
icon - Resource ID of a drawable that represents the action.
title - Text describing the action.
intent - PendingIntent to be fired when the action is invoked.

setStyle

public NotificationCompat.Builder setStyle(NotificationCompat.Style style)
Add a rich notification style to be applied at build time.
If the platform does not provide rich notification styles, this method has no effect. The user will always see the normal notification style.

Parameters:
style - Object responsible for modifying the notification style.

getNotification

@Deprecated
public android.app.Notification getNotification()
Deprecated. Use build() instead.


build

public android.app.Notification build()
Combine all of the options that have been set and return a new Notification object.



Copyright © 2013 Marek Kedzierski. All Rights Reserved.