Skip to content

Most visited

Recently visited

navigation
Added in API level 20

Notification.WearableExtender

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

java.lang.Object
   ↳ android.app.Notification.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 Notification.Builder, setting any desired properties.
  2. Create a Notification.WearableExtender.
  3. Set wearable-specific properties using the add and set methods of Notification.WearableExtender.
  4. Call extend(Notification.Extender) to apply the extensions to a notification.
  5. Post the notification to the notification system with the NotificationManager.notify(...) methods.
 Notification notif = new Notification.Builder(mContext)
         .setContentTitle("New mail from " + sender.toString())
         .setContentText(subject)
         .setSmallIcon(R.drawable.new_mail)
         .extend(new Notification.WearableExtender()
                 .setContentIcon(R.drawable.new_mail))
         .build();
 NotificationManager notificationManger =
         (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
 notificationManger.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.

 Notification.WearableExtender wearableExtender = new Notification.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

Notification.WearableExtender()

Create a Notification.WearableExtender with default options.

Notification.WearableExtender(Notification notif)

Public methods

Notification.WearableExtender addAction(Notification.Action action)

Add a wearable action to this notification.

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

Adds wearable actions to this notification.

Notification.WearableExtender addPage(Notification page)

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

Notification.WearableExtender addPages(List<Notification> pages)

Add additional pages of content to display with this notification.

Notification.WearableExtender clearActions()

Clear all wearable actions present on this builder.

Notification.WearableExtender clearPages()

Clear all additional pages present on this builder.

Notification.WearableExtender clone()

Creates and returns a copy of this Object.

Notification.Builder extend(Notification.Builder builder)

Apply wearable extensions to a notification that is being built.

List<Notification.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 Notification.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.

Notification.WearableExtender setBackground(Bitmap background)

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

Notification.WearableExtender setContentAction(int actionIndex)

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

Notification.WearableExtender setContentIcon(int icon)

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

Notification.WearableExtender setContentIconGravity(int contentIconGravity)

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

Notification.WearableExtender setContentIntentAvailableOffline(boolean contentIntentAvailableOffline)

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

Notification.WearableExtender setCustomContentHeight(int height)

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

Notification.WearableExtender setCustomSizePreset(int sizePreset)

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

Notification.WearableExtender setDisplayIntent(PendingIntent intent)

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

Notification.WearableExtender setGravity(int gravity)

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

Notification.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.

Notification.WearableExtender setHintHideIcon(boolean hintHideIcon)

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

Notification.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.

Notification.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.

Notification.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.app.Notification.Extender

Constants

SCREEN_TIMEOUT_LONG

Added in API level 22
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

Added in API level 22
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

Added in API level 20
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

Added in API level 20
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

Added in API level 20
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

Added in API level 20
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

Added in API level 20
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

Added in API level 20
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

Added in API level 20
int UNSET_ACTION_INDEX

Sentinel value for an action index that is unset.

Constant Value: -1 (0xffffffff)

Public constructors

Notification.WearableExtender

Added in API level 20
Notification.WearableExtender ()

Create a Notification.WearableExtender with default options.

Notification.WearableExtender

Added in API level 20
Notification.WearableExtender (Notification notif)

Parameters
notif Notification

Public methods

addAction

Added in API level 20
Notification.WearableExtender addAction (Notification.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(Notification.Action). This allows for customization of which actions display on different devices.

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

See also:

addActions

Added in API level 20
Notification.WearableExtender addActions (List<Notification.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(Notification.Action). This allows for customization of which actions display on different devices.

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

See also:

addPage

Added in API level 20
Notification.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
Notification.WearableExtender this object for method chaining

See also:

addPages

Added in API level 20
Notification.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
Notification.WearableExtender this object for method chaining

See also:

clearActions

Added in API level 20
Notification.WearableExtender clearActions ()

Clear all wearable actions present on this builder.

Returns
Notification.WearableExtender this object for method chaining.

See also:

clearPages

Added in API level 20
Notification.WearableExtender clearPages ()

Clear all additional pages present on this builder.

Returns
Notification.WearableExtender this object for method chaining.

See also:

clone

Added in API level 20
Notification.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
Notification.WearableExtender a copy of this object.

extend

Added in API level 20
Notification.Builder extend (Notification.Builder builder)

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

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

getActions

Added in API level 20
List<Notification.Action> getActions ()

Get the wearable actions present on this notification.

Returns
List<Notification.Action>

getBackground

Added in API level 20
Bitmap getBackground ()

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

Returns
Bitmap the background image

See also:

getContentAction

Added in API level 20
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

Added in API level 20
int getContentIcon ()

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

Returns
int

getContentIconGravity

Added in API level 20
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

Added in API level 20
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

Added in API level 20
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

Added in API level 20
int getCustomSizePreset ()

Get the custom size preset for the display of this notification out of the available presets found in Notification.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

Added in API level 20
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

Added in API level 20
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

Added in API level 22
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

Added in API level 20
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

Added in API level 22
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

Added in API level 20
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

Added in API level 20
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

Added in API level 20
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

Added in API level 20
Notification.WearableExtender setBackground (Bitmap background)

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

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

See also:

setContentAction

Added in API level 20
Notification.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
Notification.WearableExtender

setContentIcon

Added in API level 20
Notification.WearableExtender setContentIcon (int icon)

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

Parameters
icon int
Returns
Notification.WearableExtender

setContentIconGravity

Added in API level 20
Notification.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
Notification.WearableExtender

See also:

setContentIntentAvailableOffline

Added in API level 20
Notification.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
Notification.WearableExtender

setCustomContentHeight

Added in API level 20
Notification.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
Notification.WearableExtender

setCustomSizePreset

Added in API level 20
Notification.WearableExtender setCustomSizePreset (int sizePreset)

Set the custom size preset for the display of this notification out of the available presets found in Notification.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
Notification.WearableExtender

setDisplayIntent

Added in API level 20
Notification.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 Notification.Builder(context)
         .extend(new Notification.WearableExtender()
                 .setDisplayIntent(displayPendingIntent)
                 .setCustomSizePreset(Notification.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
Notification.WearableExtender this object for method chaining

See also:

setGravity

Added in API level 20
Notification.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
Notification.WearableExtender

setHintAvoidBackgroundClipping

Added in API level 22
Notification.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
Notification.WearableExtender this object for method chaining

setHintHideIcon

Added in API level 20
Notification.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
Notification.WearableExtender this object for method chaining

setHintScreenTimeout

Added in API level 22
Notification.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
Notification.WearableExtender this object for method chaining

setHintShowBackgroundOnly

Added in API level 20
Notification.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
Notification.WearableExtender

setStartScrollBottom

Added in API level 20
Notification.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
Notification.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.