Notification.MediaStyle


public static class Notification.MediaStyle
extends Notification.Style

java.lang.Object
   ↳ android.app.Notification.Style
     ↳ android.app.Notification.MediaStyle
Notification.DecoratedMediaCustomViewStyle Notification style for media custom views that are decorated by the system

Instead of providing a media notification that is completely custom, a developer can set this style and still obtain system decorations like the notification header with the expand affordance and actions. 



Notification style for media playback notifications. In the expanded form, Notification.bigContentView, up to 5 Notification.Actions specified with addAction will be shown as icon-only pushbuttons, suitable for transport controls. The Bitmap given to setLargeIcon() will be treated as album artwork.

Unlike the other styles provided here, MediaStyle can also modify the standard-size Notification.contentView; by providing action indices to setShowActionsInCompactView(int) you can promote up to 3 actions to be displayed in the standard view alongside the usual content.

Notifications created with MediaStyle will have their category set to CATEGORY_TRANSPORT unless you set a different category using setCategory().

Finally, if you attach a MediaSession.Token using setMediaSession(MediaSession.Token), the System UI can identify this as a notification representing an active media session and respond accordingly (by showing album artwork in the lockscreen, for example).

Starting at Android O any notification that has a media session attached with setMediaSession(android.media.session.MediaSession.Token) will be colorized. You can opt-out of this behavior by using Notification.Builder.setColorized(boolean).

Starting at Android V the NO_CLEAR flag will be set for valid MediaStyle notifications.

To use this style with your Notification, feed it to Notification.Builder.setStyle(android.app.Notification.Style) like so:

 Notification noti = new Notification.Builder()
     .setSmallIcon(R.drawable.ic_stat_player)
     .setContentTitle("Track title")
     .setContentText("Artist - Album")
     .setLargeIcon(albumArtBitmap))
     .setStyle(new Notification.MediaStyle()
         .setMediaSession(mySession))
     .build();
 

Summary

Inherited fields

Public constructors

MediaStyle()
MediaStyle(Notification.Builder builder)

This constructor is deprecated. use MediaStyle().

Public methods

Notification.MediaStyle setMediaSession(MediaSession.Token token)

Attach a MediaSession.Token to this Notification to provide additional playback information and control to the SystemUI.

Notification.MediaStyle setRemotePlaybackInfo(CharSequence deviceName, int iconResource, PendingIntent chipIntent)

For media notifications associated with playback on a remote device, provide device information that will replace the default values for the output switcher chip on the media control, as well as an intent to use when the output switcher chip is tapped, on devices where this is supported.

Notification.MediaStyle setShowActionsInCompactView(int... actions)

Request up to 3 actions (by index in the order of addition) to be shown in the compact notification view.

Inherited methods

Notification build()

Calls Notification.Builder.build() on the Builder this Style is attached to.

void checkBuilder()
RemoteViews getStandardView(int layoutId)
void internalSetBigContentTitle(CharSequence title)

Overrides ContentTitle in the expanded form of the template.

void internalSetSummaryText(CharSequence cs)

Set the first line of text after the detail section in the expanded form of the template.

void setBuilder(Notification.Builder builder)
Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

MediaStyle

Added in API level 21
public MediaStyle ()

MediaStyle

Added in API level 21
public MediaStyle (Notification.Builder builder)

This constructor is deprecated.
use MediaStyle().

Parameters
builder Notification.Builder

Public methods

setMediaSession

Added in API level 21
public Notification.MediaStyle setMediaSession (MediaSession.Token token)

Attach a MediaSession.Token to this Notification to provide additional playback information and control to the SystemUI.

Parameters
token MediaSession.Token

setRemotePlaybackInfo

Added in API level 34
public Notification.MediaStyle setRemotePlaybackInfo (CharSequence deviceName, 
                int iconResource, 
                PendingIntent chipIntent)

For media notifications associated with playback on a remote device, provide device information that will replace the default values for the output switcher chip on the media control, as well as an intent to use when the output switcher chip is tapped, on devices where this is supported.

This method is intended for system applications to provide information and/or functionality that would otherwise be unavailable to the default output switcher because the media originated on a remote device.
Requires Manifest.permission.MEDIA_CONTENT_CONTROL

Parameters
deviceName CharSequence: The name of the remote device to display This value cannot be null.

iconResource int: Icon resource representing the device

chipIntent PendingIntent: PendingIntent to send when the output switcher is tapped. May be null, in which case the output switcher will be disabled. This intent should open an Activity or it will be ignored.

Returns
Notification.MediaStyle MediaStyle This value cannot be null.

setShowActionsInCompactView

Added in API level 21
public Notification.MediaStyle setShowActionsInCompactView (int... actions)

Request up to 3 actions (by index in the order of addition) to be shown in the compact notification view.

Parameters
actions int: the indices of the actions to show in the compact notification view