Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

Notification.MediaStyle

public static class Notification.MediaStyle
extends Notification.Style

java.lang.Object
   ↳ android.app.Notification.Style
     ↳ android.app.Notification.MediaStyle


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(MediaSession.Token) will be colorized. You can opt-out of this behavior by using Notification.Builder.setColorized(boolean).

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

Notification.MediaStyle()
Notification.MediaStyle(Notification.Builder builder)

This constructor was deprecated in API level 24. 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 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

Public constructors

Notification.MediaStyle

added in API level 21
public Notification.MediaStyle ()

Notification.MediaStyle

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

This constructor was deprecated in API level 24.
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

Returns
Notification.MediaStyle

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

Returns
Notification.MediaStyle