Skip to content

Most visited

Recently visited

navigation

NotificationCompat.WearableExtender

public static final class NotificationCompat.WearableExtender
extends Object implements NotificationCompat.Extender

java.lang.Object
   ↳ android.support.v4.app.NotificationCompat.WearableExtender


Helper class to add wearable extensions to notifications.

See Creating Notifications for Android Wear for more information on how to use this class.

To create a notification with wearable extensions:

  1. Create a NotificationCompat.Builder, setting any desired properties.
  2. Create a NotificationCompat.WearableExtender.
  3. Set wearable-specific properties using the add and set methods of NotificationCompat.WearableExtender.
  4. Call extend(NotificationCompat.Extender) to apply the extensions to a notification.
  5. Post the notification to the notification system with the NotificationManagerCompat.notify(...) methods and not the NotificationManager.notify(...) methods.
 Notification notif = new NotificationCompat.Builder(mContext)
         .setContentTitle("New mail from " + sender.toString())
         .setContentText(subject)
         .setSmallIcon(R.drawable.new_mail)
         .extend(new NotificationCompat.WearableExtender()
                 .setContentIcon(R.drawable.new_mail))
         .build();
 NotificationManagerCompat.from(mContext).notify(0, notif);

Wearable extensions can be accessed on an existing notification by using the WearableExtender(Notification) constructor, and then using the get methods to access values.

 NotificationCompat.WearableExtender wearableExtender =
         new NotificationCompat.WearableExtender(notification);
 List<Notification> pages = wearableExtender.getPages();

Summary

Constants

int SCREEN_TIMEOUT_LONG

Sentinel value for use with setHintScreenTimeout(int) to keep the screen on for a longer amount of time when this notification is displayed on the screen.

int SCREEN_TIMEOUT_SHORT

Sentinel value for use with setHintScreenTimeout(int) to keep the screen on for a short amount of time when this notification is displayed on the screen.

int SIZE_DEFAULT

Size value for use with setCustomSizePreset(int) to show this notification with default sizing.

int SIZE_FULL_SCREEN

Size value for use with setCustomSizePreset(int) to show this notification full screen.

int SIZE_LARGE

Size value for use with setCustomSizePreset(int) to show this notification with a large size.

int SIZE_MEDIUM

Size value for use with setCustomSizePreset(int) to show this notification with a medium size.

int SIZE_SMALL

Size value for use with setCustomSizePreset(int) to show this notification with a small size.

int SIZE_XSMALL

Size value for use with setCustomSizePreset(int) to show this notification with an extra small size.

int UNSET_ACTION_INDEX

Sentinel value for an action index that is unset.

Public constructors

NotificationCompat.WearableExtender()

Create a NotificationCompat.WearableExtender with default options.

NotificationCompat.WearableExtender(Notification notif)

Public methods

NotificationCompat.WearableExtender addAction(NotificationCompat.Action action)

Add a wearable action to this notification.

NotificationCompat.WearableExtender addActions(List<NotificationCompat.Action> actions)

Adds wearable actions to this notification.

NotificationCompat.WearableExtender addPage(Notification page)

Add an additional page of content to display with this notification.

NotificationCompat.WearableExtender addPages(List<Notification> pages)

Add additional pages of content to display with this notification.

NotificationCompat.WearableExtender clearActions()

Clear all wearable actions present on this builder.

NotificationCompat.WearableExtender clearPages()

Clear all additional pages present on this builder.

NotificationCompat.WearableExtender clone()

Creates and returns a copy of this Object.

NotificationCompat.Builder extend(NotificationCompat.Builder builder)

Apply wearable extensions to a notification that is being built.

List<NotificationCompat.Action> getActions()

Get the wearable actions present on this notification.

Bitmap getBackground()

Get a background image to be displayed behind the notification content.

int getContentAction()

Get the index of the notification action, if any, that was specified as being clickable with the content of this notification.

int getContentIcon()

Get an icon that goes with the content of this notification.

int getContentIconGravity()

Get the gravity that the content icon should have within the notification display.

boolean getContentIntentAvailableOffline()

Get whether the content intent is available when the wearable device is not connected to a companion device.

int getCustomContentHeight()

Get the custom height in pixels for the display of this notification's content.

int getCustomSizePreset()

Get the custom size preset for the display of this notification out of the available presets found in NotificationCompat.WearableExtender, e.g.

PendingIntent getDisplayIntent()

Get the intent to launch inside of an activity view when displaying this notification.

int getGravity()

Get the gravity that this notification should have within the available viewport space.

boolean getHintAvoidBackgroundClipping()

Get a hint that this notification's background should not be clipped if possible, and should instead be resized to fully display on the screen, retaining the aspect ratio of the image.

boolean getHintHideIcon()

Get a hint that this notification's icon should not be displayed.

int getHintScreenTimeout()

Get the duration, in milliseconds, that the screen should remain on for when this notification is displayed.

boolean getHintShowBackgroundOnly()

Get a visual hint that only the background image of this notification should be displayed, and other semantic content should be hidden.

List<Notification> getPages()

Get the array of additional pages of content for displaying this notification.

boolean getStartScrollBottom()

Get whether the scrolling position for the contents of this notification should start at the bottom of the contents instead of the top when the contents are too long to display within the screen.

NotificationCompat.WearableExtender setBackground(Bitmap background)

Set a background image to be displayed behind the notification content.

NotificationCompat.WearableExtender setContentAction(int actionIndex)

Set an action from this notification's actions to be clickable with the content of this notification.

NotificationCompat.WearableExtender setContentIcon(int icon)

Set an icon that goes with the content of this notification.

NotificationCompat.WearableExtender setContentIconGravity(int contentIconGravity)

Set the gravity that the content icon should have within the notification display.

NotificationCompat.WearableExtender setContentIntentAvailableOffline(boolean contentIntentAvailableOffline)

Set whether the content intent is available when the wearable device is not connected to a companion device.

NotificationCompat.WearableExtender setCustomContentHeight(int height)

Set the custom height in pixels for the display of this notification's content.

NotificationCompat.WearableExtender setCustomSizePreset(int sizePreset)

Set the custom size preset for the display of this notification out of the available presets found in NotificationCompat.WearableExtender, e.g.

NotificationCompat.WearableExtender setDisplayIntent(PendingIntent intent)

Set an intent to launch inside of an activity view when displaying this notification.

NotificationCompat.WearableExtender setGravity(int gravity)

Set the gravity that this notification should have within the available viewport space.

NotificationCompat.WearableExtender setHintAvoidBackgroundClipping(boolean hintAvoidBackgroundClipping)

Set a hint that this notification's background should not be clipped if possible, and should instead be resized to fully display on the screen, retaining the aspect ratio of the image.

NotificationCompat.WearableExtender setHintHideIcon(boolean hintHideIcon)

Set a hint that this notification's icon should not be displayed.

NotificationCompat.WearableExtender setHintScreenTimeout(int timeout)

Set a hint that the screen should remain on for at least this duration when this notification is displayed on the screen.

NotificationCompat.WearableExtender setHintShowBackgroundOnly(boolean hintShowBackgroundOnly)

Set a visual hint that only the background image of this notification should be displayed, and other semantic content should be hidden.

NotificationCompat.WearableExtender setStartScrollBottom(boolean startScrollBottom)

Set whether the scrolling position for the contents of this notification should start at the bottom of the contents instead of the top when the contents are too long to display within the screen.

Inherited methods

From class java.lang.Object
From interface android.support.v4.app.NotificationCompat.Extender

Constants

SCREEN_TIMEOUT_LONG

int SCREEN_TIMEOUT_LONG

Sentinel value for use with setHintScreenTimeout(int) to keep the screen on for a longer amount of time when this notification is displayed on the screen.

Constant Value: -1 (0xffffffff)

SCREEN_TIMEOUT_SHORT

int SCREEN_TIMEOUT_SHORT

Sentinel value for use with setHintScreenTimeout(int) to keep the screen on for a short amount of time when this notification is displayed on the screen. This is the default value.

Constant Value: 0 (0x00000000)

SIZE_DEFAULT

int SIZE_DEFAULT

Size value for use with setCustomSizePreset(int) to show this notification with default sizing.

For custom display notifications created using setDisplayIntent(PendingIntent), the default is SIZE_MEDIUM. All other notifications size automatically based on their content.

Constant Value: 0 (0x00000000)

SIZE_FULL_SCREEN

int SIZE_FULL_SCREEN

Size value for use with setCustomSizePreset(int) to show this notification full screen.

This value is only applicable for custom display notifications created using setDisplayIntent(PendingIntent).

Constant Value: 5 (0x00000005)

SIZE_LARGE

int SIZE_LARGE

Size value for use with setCustomSizePreset(int) to show this notification with a large size.

This value is only applicable for custom display notifications created using setDisplayIntent(PendingIntent).

Constant Value: 4 (0x00000004)

SIZE_MEDIUM

int SIZE_MEDIUM

Size value for use with setCustomSizePreset(int) to show this notification with a medium size.

This value is only applicable for custom display notifications created using setDisplayIntent(PendingIntent).

Constant Value: 3 (0x00000003)

SIZE_SMALL

int SIZE_SMALL

Size value for use with setCustomSizePreset(int) to show this notification with a small size.

This value is only applicable for custom display notifications created using setDisplayIntent(PendingIntent).

Constant Value: 2 (0x00000002)

SIZE_XSMALL

int SIZE_XSMALL

Size value for use with setCustomSizePreset(int) to show this notification with an extra small size.

This value is only applicable for custom display notifications created using setDisplayIntent(PendingIntent).

Constant Value: 1 (0x00000001)

UNSET_ACTION_INDEX

int UNSET_ACTION_INDEX

Sentinel value for an action index that is unset.

Constant Value: -1 (0xffffffff)

Public constructors

NotificationCompat.WearableExtender

NotificationCompat.WearableExtender ()

Create a NotificationCompat.WearableExtender with default options.

NotificationCompat.WearableExtender

NotificationCompat.WearableExtender (Notification notif)

Parameters
notif Notification

Public methods

addAction

NotificationCompat.WearableExtender addAction (NotificationCompat.Action action)

Add a wearable action to this notification.

When wearable actions are added using this method, the set of actions that show on a wearable device splits from devices that only show actions added using addAction(NotificationCompat.Action). This allows for customization of which actions display on different devices.

Parameters
action NotificationCompat.Action: the action to add to this notification
Returns
NotificationCompat.WearableExtender this object for method chaining

See also:

addActions

NotificationCompat.WearableExtender addActions (List<NotificationCompat.Action> actions)

Adds wearable actions to this notification.

When wearable actions are added using this method, the set of actions that show on a wearable device splits from devices that only show actions added using addAction(NotificationCompat.Action). This allows for customization of which actions display on different devices.

Parameters
actions List: the actions to add to this notification
Returns
NotificationCompat.WearableExtender this object for method chaining

See also:

addPage

NotificationCompat.WearableExtender addPage (Notification page)

Add an additional page of content to display with this notification. The current notification forms the first page, and pages added using this function form subsequent pages. This field can be used to separate a notification into multiple sections.

Parameters
page Notification: the notification to add as another page
Returns
NotificationCompat.WearableExtender this object for method chaining

See also:

addPages

NotificationCompat.WearableExtender addPages (List<Notification> pages)

Add additional pages of content to display with this notification. The current notification forms the first page, and pages added using this function form subsequent pages. This field can be used to separate a notification into multiple sections.

Parameters
pages List: a list of notifications
Returns
NotificationCompat.WearableExtender this object for method chaining

See also:

clearActions

NotificationCompat.WearableExtender clearActions ()

Clear all wearable actions present on this builder.

Returns
NotificationCompat.WearableExtender this object for method chaining.

See also:

clearPages

NotificationCompat.WearableExtender clearPages ()

Clear all additional pages present on this builder.

Returns
NotificationCompat.WearableExtender this object for method chaining.

See also:

clone

NotificationCompat.WearableExtender clone ()

Creates and returns a copy of this Object. The default implementation returns a so-called "shallow" copy: It creates a new instance of the same class and then copies the field values (including object references) from this instance to the new instance. A "deep" copy, in contrast, would also recursively clone nested objects. A subclass that needs to implement this kind of cloning should call super.clone() to create the new instance and then create deep copies of the nested, mutable objects.

Returns
NotificationCompat.WearableExtender a copy of this object.

extend

NotificationCompat.Builder extend (NotificationCompat.Builder builder)

Apply wearable extensions to a notification that is being built. This is typically called by the extend(NotificationCompat.Extender) method of NotificationCompat.Builder.

Parameters
builder NotificationCompat.Builder: the builder to be modified.
Returns
NotificationCompat.Builder the build object for chaining.

getActions

List<NotificationCompat.Action> getActions ()

Get the wearable actions present on this notification.

Returns
List<NotificationCompat.Action>

getBackground

Bitmap getBackground ()

Get a background image to be displayed behind the notification content. Contrary to the NotificationCompat.BigPictureStyle, this background will work with any notification style.

Returns
Bitmap the background image

See also:

getContentAction

int getContentAction ()

Get the index of the notification action, if any, that was specified as being clickable with the content of this notification. This action will no longer display separately from the notification's content.

For notifications with multiple pages, child pages can also have content actions set, although the list of available actions comes from the main notification and not from the child page's notification.

If wearable specific actions were added to the main notification, this index will apply to that list, otherwise it will apply to the regular actions list.

Returns
int the action index or UNSET_ACTION_INDEX if no action was selected.

getContentIcon

int getContentIcon ()

Get an icon that goes with the content of this notification.

Returns
int

getContentIconGravity

int getContentIconGravity ()

Get the gravity that the content icon should have within the notification display. Supported values include START and END. The default value is END.

Returns
int

See also:

getContentIntentAvailableOffline

boolean getContentIntentAvailableOffline ()

Get whether the content intent is available when the wearable device is not connected to a companion device. The user can still trigger this intent when the wearable device is offline, but a visual hint will indicate that the content intent may not be available. Defaults to true.

Returns
boolean

getCustomContentHeight

int getCustomContentHeight ()

Get the custom height in pixels for the display of this notification's content.

This option is only available for custom display notifications created using setDisplayIntent(PendingIntent). See also setCustomSizePreset(int) and setCustomContentHeight(int).

Returns
int

getCustomSizePreset

int getCustomSizePreset ()

Get the custom size preset for the display of this notification out of the available presets found in NotificationCompat.WearableExtender, e.g. SIZE_LARGE.

Some custom size presets are only applicable for custom display notifications created using setDisplayIntent(PendingIntent). Check the documentation for the preset in question. See also setCustomContentHeight(int) and setCustomSizePreset(int).

Returns
int

getDisplayIntent

PendingIntent getDisplayIntent ()

Get the intent to launch inside of an activity view when displaying this notification. This PendingIntent should be for an activity.

Returns
PendingIntent

getGravity

int getGravity ()

Get the gravity that this notification should have within the available viewport space. Supported values include TOP, CENTER_VERTICAL and BOTTOM. The default value is BOTTOM.

Returns
int

getHintAvoidBackgroundClipping

boolean getHintAvoidBackgroundClipping ()

Get a hint that this notification's background should not be clipped if possible, and should instead be resized to fully display on the screen, retaining the aspect ratio of the image. This can be useful for images like barcodes or qr codes.

Returns
boolean true if it's ok if the background is clipped on the screen, false otherwise. The default value is false if this was never set.

getHintHideIcon

boolean getHintHideIcon ()

Get a hint that this notification's icon should not be displayed.

Returns
boolean true if this icon should not be displayed, false otherwise. The default value is false if this was never set.

getHintScreenTimeout

int getHintScreenTimeout ()

Get the duration, in milliseconds, that the screen should remain on for when this notification is displayed.

Returns
int the duration in milliseconds if > 0, or either one of the sentinel values SCREEN_TIMEOUT_SHORT or SCREEN_TIMEOUT_LONG.

getHintShowBackgroundOnly

boolean getHintShowBackgroundOnly ()

Get a visual hint that only the background image of this notification should be displayed, and other semantic content should be hidden. This hint is only applicable to sub-pages added using addPage(Notification).

Returns
boolean

getPages

List<Notification> getPages ()

Get the array of additional pages of content for displaying this notification. The current notification forms the first page, and elements within this array form subsequent pages. This field can be used to separate a notification into multiple sections.

Returns
List<Notification> the pages for this notification

getStartScrollBottom

boolean getStartScrollBottom ()

Get whether the scrolling position for the contents of this notification should start at the bottom of the contents instead of the top when the contents are too long to display within the screen. Default is false (start scroll at the top).

Returns
boolean

setBackground

NotificationCompat.WearableExtender setBackground (Bitmap background)

Set a background image to be displayed behind the notification content. Contrary to the NotificationCompat.BigPictureStyle, this background will work with any notification style.

Parameters
background Bitmap: the background bitmap
Returns
NotificationCompat.WearableExtender this object for method chaining

See also:

setContentAction

NotificationCompat.WearableExtender setContentAction (int actionIndex)

Set an action from this notification's actions to be clickable with the content of this notification. This action will no longer display separately from the notification's content.

For notifications with multiple pages, child pages can also have content actions set, although the list of available actions comes from the main notification and not from the child page's notification.

Parameters
actionIndex int: The index of the action to hoist onto the current notification page. If wearable actions were added to the main notification, this index will apply to that list, otherwise it will apply to the regular actions list.
Returns
NotificationCompat.WearableExtender

setContentIcon

NotificationCompat.WearableExtender setContentIcon (int icon)

Set an icon that goes with the content of this notification.

Parameters
icon int
Returns
NotificationCompat.WearableExtender

setContentIconGravity

NotificationCompat.WearableExtender setContentIconGravity (int contentIconGravity)

Set the gravity that the content icon should have within the notification display. Supported values include START and END. The default value is END.

Parameters
contentIconGravity int
Returns
NotificationCompat.WearableExtender

See also:

setContentIntentAvailableOffline

NotificationCompat.WearableExtender setContentIntentAvailableOffline (boolean contentIntentAvailableOffline)

Set whether the content intent is available when the wearable device is not connected to a companion device. The user can still trigger this intent when the wearable device is offline, but a visual hint will indicate that the content intent may not be available. Defaults to true.

Parameters
contentIntentAvailableOffline boolean
Returns
NotificationCompat.WearableExtender

setCustomContentHeight

NotificationCompat.WearableExtender setCustomContentHeight (int height)

Set the custom height in pixels for the display of this notification's content.

This option is only available for custom display notifications created using setDisplayIntent(PendingIntent). See also setCustomSizePreset(int) and getCustomContentHeight().

Parameters
height int
Returns
NotificationCompat.WearableExtender

setCustomSizePreset

NotificationCompat.WearableExtender setCustomSizePreset (int sizePreset)

Set the custom size preset for the display of this notification out of the available presets found in NotificationCompat.WearableExtender, e.g. SIZE_LARGE.

Some custom size presets are only applicable for custom display notifications created using setDisplayIntent(PendingIntent). Check the documentation for the preset in question. See also setCustomContentHeight(int) and getCustomSizePreset().

Parameters
sizePreset int
Returns
NotificationCompat.WearableExtender

setDisplayIntent

NotificationCompat.WearableExtender setDisplayIntent (PendingIntent intent)

Set an intent to launch inside of an activity view when displaying this notification. The PendingIntent provided should be for an activity.

 Intent displayIntent = new Intent(context, MyDisplayActivity.class);
 PendingIntent displayPendingIntent = PendingIntent.getActivity(context,
         0, displayIntent, PendingIntent.FLAG_UPDATE_CURRENT);
 Notification notif = new NotificationCompat.Builder(context)
         .extend(new NotificationCompat.WearableExtender()
                 .setDisplayIntent(displayPendingIntent)
                 .setCustomSizePreset(NotificationCompat.WearableExtender.SIZE_MEDIUM))
         .build();

The activity to launch needs to allow embedding, must be exported, and should have an empty task affinity. It is also recommended to use the device default light theme.

Example AndroidManifest.xml entry:

 <activity android:name="com.example.MyDisplayActivity"
     android:exported="true"
     android:allowEmbedded="true"
     android:taskAffinity=""
     android:theme="@android:style/Theme.DeviceDefault.Light" />

Parameters
intent PendingIntent: the PendingIntent for an activity
Returns
NotificationCompat.WearableExtender this object for method chaining

See also:

setGravity

NotificationCompat.WearableExtender setGravity (int gravity)

Set the gravity that this notification should have within the available viewport space. Supported values include TOP, CENTER_VERTICAL and BOTTOM. The default value is BOTTOM.

Parameters
gravity int
Returns
NotificationCompat.WearableExtender

setHintAvoidBackgroundClipping

NotificationCompat.WearableExtender setHintAvoidBackgroundClipping (boolean hintAvoidBackgroundClipping)

Set a hint that this notification's background should not be clipped if possible, and should instead be resized to fully display on the screen, retaining the aspect ratio of the image. This can be useful for images like barcodes or qr codes.

Parameters
hintAvoidBackgroundClipping boolean: true to avoid clipping if possible.
Returns
NotificationCompat.WearableExtender this object for method chaining

setHintHideIcon

NotificationCompat.WearableExtender setHintHideIcon (boolean hintHideIcon)

Set a hint that this notification's icon should not be displayed.

Parameters
hintHideIcon boolean: true to hide the icon, false otherwise.
Returns
NotificationCompat.WearableExtender this object for method chaining

setHintScreenTimeout

NotificationCompat.WearableExtender setHintScreenTimeout (int timeout)

Set a hint that the screen should remain on for at least this duration when this notification is displayed on the screen.

Parameters
timeout int: The requested screen timeout in milliseconds. Can also be either SCREEN_TIMEOUT_SHORT or SCREEN_TIMEOUT_LONG.
Returns
NotificationCompat.WearableExtender this object for method chaining

setHintShowBackgroundOnly

NotificationCompat.WearableExtender setHintShowBackgroundOnly (boolean hintShowBackgroundOnly)

Set a visual hint that only the background image of this notification should be displayed, and other semantic content should be hidden. This hint is only applicable to sub-pages added using addPage(Notification).

Parameters
hintShowBackgroundOnly boolean
Returns
NotificationCompat.WearableExtender

setStartScrollBottom

NotificationCompat.WearableExtender setStartScrollBottom (boolean startScrollBottom)

Set whether the scrolling position for the contents of this notification should start at the bottom of the contents instead of the top when the contents are too long to display within the screen. Default is false (start scroll at the top).

Parameters
startScrollBottom boolean
Returns
NotificationCompat.WearableExtender
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.