NotificationCompat.TvExtender


public final class NotificationCompat.TvExtender implements NotificationCompat.Extender


Helper class to add Android TV extensions to notifications.

To create a notification with a TV extension:

  1. Create an NotificationCompat.Builder, setting any desired properties.
  2. Create a TvExtender.
  3. Set TV-specific properties using the set methods of TvExtender.
  4. Call extend to apply the extension to a notification.
Notification notification = new NotificationCompat.Builder(context)
        ...
        .extend(new TvExtender()
                .setChannelId("channel id"))
        .build();
NotificationManagerCompat.from(mContext).notify(0, notification);

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

Note that prior to O this field has no effect.

Summary

Public constructors

Create a TvExtender with default options.

Create a TvExtender from the TvExtender options of an existing Notification.

Public methods

@NonNull NotificationCompat.Builder

Apply a TV extension to a notification that is being built.

@Nullable String

Returns the id of the channel this notification posts to on TV.

@Nullable PendingIntent

Returns the TV-specific content intent.

@Nullable PendingIntent

Returns the TV-specific delete intent.

boolean

Returns true if this notification should be shown on TV.

boolean

Returns true if this notification should not show messages over top of apps outside of the launcher.

@NonNull NotificationCompat.TvExtender

Specifies the channel the notification should be delivered on when shown on TV.

@NonNull NotificationCompat.TvExtender

Supplies a PendingIntent to be sent when the notification is selected on TV.

@NonNull NotificationCompat.TvExtender

Supplies a PendingIntent to send when the notification is cleared explicitly by the user on TV.

@NonNull NotificationCompat.TvExtender
setSuppressShowOverApps(boolean suppress)

Specifies whether this notification should suppress showing a message over top of apps outside of the launcher.

Public constructors

TvExtender

Added in 1.11.0
public TvExtender()

Create a TvExtender with default options.

TvExtender

Added in 1.11.0
public TvExtender(@NonNull Notification notif)

Create a TvExtender from the TvExtender options of an existing Notification.

Parameters
@NonNull Notification notif

The notification from which to copy options.

Public methods

extend

public @NonNull NotificationCompat.Builder extend(@NonNull NotificationCompat.Builder builder)

Apply a TV extension to a notification that is being built. This is typically called by the extend method of NotificationCompat.Builder.

getChannelId

Added in 1.11.0
public @Nullable String getChannelId()

Returns the id of the channel this notification posts to on TV.

getContentIntent

Added in 1.11.0
public @Nullable PendingIntent getContentIntent()

Returns the TV-specific content intent. If this method returns null, the main content intent on the notification should be used.

getDeleteIntent

Added in 1.11.0
public @Nullable PendingIntent getDeleteIntent()

Returns the TV-specific delete intent. If this method returns null, the main delete intent on the notification should be used.

isAvailableOnTv

Added in 1.11.0
public boolean isAvailableOnTv()

Returns true if this notification should be shown on TV. This method return true if the notification was extended with a TvExtender.

isSuppressShowOverApps

Added in 1.11.0
public boolean isSuppressShowOverApps()

Returns true if this notification should not show messages over top of apps outside of the launcher.

setChannelId

Added in 1.11.0
public @NonNull NotificationCompat.TvExtender setChannelId(@Nullable String channelId)

Specifies the channel the notification should be delivered on when shown on TV. It can be different from the channel that the notification is delivered to when posting on a non-TV device.

Parameters
@Nullable String channelId

The channelId to use in the tv notification.

Returns
@NonNull NotificationCompat.TvExtender

The object for method chaining.

setContentIntent

Added in 1.11.0
public @NonNull NotificationCompat.TvExtender setContentIntent(@Nullable PendingIntent intent)

Supplies a PendingIntent to be sent when the notification is selected on TV. If provided, it is used instead of the content intent specified at the level of Notification.

setDeleteIntent

Added in 1.11.0
public @NonNull NotificationCompat.TvExtender setDeleteIntent(@Nullable PendingIntent intent)

Supplies a PendingIntent to send when the notification is cleared explicitly by the user on TV. If provided, it is used instead of the delete intent specified at the level of Notification.

setSuppressShowOverApps

Added in 1.11.0
public @NonNull NotificationCompat.TvExtender setSuppressShowOverApps(boolean suppress)

Specifies whether this notification should suppress showing a message over top of apps outside of the launcher.