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:
- Create an
NotificationCompat.Builder, setting any desired properties. - Create a
TvExtender. - Set TV-specific properties using the
setmethods ofTvExtender. - Call
extendto 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(@NonNull Notification notif)Create a |
Public methods |
|
|---|---|
@NonNull NotificationCompat.Builder |
extend(@NonNull NotificationCompat.Builder 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 |
setChannelId(@Nullable String channelId)Specifies the channel the notification should be delivered on when shown on TV. |
@NonNull NotificationCompat.TvExtender |
setContentIntent(@Nullable PendingIntent intent)Supplies a |
@NonNull NotificationCompat.TvExtender |
setDeleteIntent(@Nullable PendingIntent intent)Supplies a |
@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
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
public @Nullable String getChannelId()
Returns the id of the channel this notification posts to on TV.
getContentIntent
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.
| See also | |
|---|---|
contentIntent |
getDeleteIntent
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.
| See also | |
|---|---|
deleteIntent |
isAvailableOnTv
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
public boolean isSuppressShowOverApps()
Returns true if this notification should not show messages over top of apps outside of the launcher.
setChannelId
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.
| Returns | |
|---|---|
@NonNull NotificationCompat.TvExtender |
The object for method chaining. |
setContentIntent
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
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
public @NonNull NotificationCompat.TvExtender setSuppressShowOverApps(boolean suppress)
Specifies whether this notification should suppress showing a message over top of apps outside of the launcher.