belongs to Maven artifact com.android.support:support-media-compat:28.0.0-alpha1
NotificationCompat.MediaStyle
  public
  static
  class
  NotificationCompat.MediaStyle
    extends NotificationCompat.Style
| java.lang.Object | ||
| ↳ | android.support.v4.app.NotificationCompat.Style | |
| ↳ | android.support.v4.media.app.NotificationCompat.MediaStyle | |
|  Known Direct Subclasses | 
Notification style for media playback notifications.
 In the expanded form, up to 5
 actions specified with
 #addAction(int, CharSequence, PendingIntent) addAction will be shown as icon-only
 pushbuttons, suitable for transport controls. The Bitmap given to
 #setLargeIcon(android.graphics.Bitmap) setLargeIcon() will
 be treated as album artwork.
 Unlike the other styles provided here, MediaStyle can also modify the standard-size
 content view; 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(MediaSessionCompat.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).
 To use this style with your Notification, feed it to
 setStyle(NotificationCompat.Style) like so:
 
 Notification noti = new NotificationCompat.Builder()
     .setSmallIcon(R.drawable.ic_stat_player)
     .setContentTitle("Track title")
     .setContentText("Artist - Album")
     .setLargeIcon(albumArtBitmap))
     .setStyle(new NotificationCompat.MediaStyle()
         .setMediaSession(mySession))
     .build();
 See also:
Summary
| Public constructors | |
|---|---|
| 
      NotificationCompat.MediaStyle()
       | |
| 
      NotificationCompat.MediaStyle(NotificationCompat.Builder builder)
       | |
| Public methods | |
|---|---|
| 
        static
        MediaSessionCompat.Token | 
      getMediaSession(Notification notification)
      Extracts a  | 
| 
        NotificationCompat.MediaStyle | 
      setCancelButtonIntent(PendingIntent pendingIntent)
      Sets the pending intent to be sent when the cancel button is pressed. | 
| 
        NotificationCompat.MediaStyle | 
      setMediaSession(MediaSessionCompat.Token token)
      Attaches a  | 
| 
        NotificationCompat.MediaStyle | 
      setShowActionsInCompactView(int... actions)
      Requests up to 3 actions (by index in the order of addition) to be shown in the compact notification view. | 
| 
        NotificationCompat.MediaStyle | 
      setShowCancelButton(boolean show)
      Sets whether a cancel button at the top right should be shown in the notification on platforms before Lollipop. | 
| Inherited methods | |
|---|---|
|  From
class 
    android.support.v4.app.NotificationCompat.Style
 | |
|  From
class 
    java.lang.Object
 | |
Public constructors
NotificationCompat.MediaStyle
NotificationCompat.MediaStyle (NotificationCompat.Builder builder)
| Parameters | |
|---|---|
| builder | NotificationCompat.Builder | 
Public methods
getMediaSession
MediaSessionCompat.Token getMediaSession (Notification notification)
Extracts a MediaSessionCompat.Token from the extra values
 in the NotificationCompat.MediaStyle notification.
| Parameters | |
|---|---|
| notification | Notification: The notification to extract aMediaSessionCompat.Tokenfrom. | 
| Returns | |
|---|---|
| MediaSessionCompat.Token | The MediaSessionCompat.Tokenin thenotificationif it contains,
         null otherwise. | 
setCancelButtonIntent
NotificationCompat.MediaStyle setCancelButtonIntent (PendingIntent pendingIntent)
Sets the pending intent to be sent when the cancel button is pressed. See setShowCancelButton(boolean).
| Parameters | |
|---|---|
| pendingIntent | PendingIntent: the intent to be sent when the cancel button is pressed | 
| Returns | |
|---|---|
| NotificationCompat.MediaStyle | |
setMediaSession
NotificationCompat.MediaStyle setMediaSession (MediaSessionCompat.Token token)
Attaches a MediaSessionCompat.Token to this Notification
 to provide additional playback information and control to the SystemUI.
| Parameters | |
|---|---|
| token | MediaSessionCompat.Token | 
| Returns | |
|---|---|
| NotificationCompat.MediaStyle | |
setShowActionsInCompactView
NotificationCompat.MediaStyle setShowActionsInCompactView (int... actions)
Requests 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 | |
|---|---|
| NotificationCompat.MediaStyle | |
setShowCancelButton
NotificationCompat.MediaStyle setShowCancelButton (boolean show)
Sets whether a cancel button at the top right should be shown in the notification on platforms before Lollipop.
Prior to Lollipop, there was a bug in the framework which prevented the developer to
 make a notification dismissable again after having used the same notification as the
 ongoing notification for a foreground service. When the notification was posted by
 startForeground(int, Notification), but then the service exited foreground mode
 via stopForeground(boolean), without removing the notification, the
 notification stayed ongoing, and thus not dismissable.
 
This is a common scenario for media notifications, as this is exactly the service lifecycle that happens when playing/pausing media. Thus, a workaround is provided by the support library: Instead of making the notification ongoing depending on the playback state, the support library provides the ability to add an explicit cancel button to the notification.
Note that the notification is enforced to be ongoing if a cancel button is shown to provide a consistent user experience.
Also note that this method is a no-op when running on Lollipop and later.
| Parameters | |
|---|---|
| show | boolean: whether to show a cancel button | 
| Returns | |
|---|---|
| NotificationCompat.MediaStyle | |
