public static class NotificationCompat.MediaStyle
extends NotificationCompat.Style
java.lang.Object | ||
↳ | android.support.v4.app.NotificationCompat.Style | |
↳ | android.support.v7.app.NotificationCompat.MediaStyle |
媒体播放通知的通知样式。 在展开的形式中, bigContentView
,最多5个NotificationCompat.Action
(以addAction
指定)将显示为仅用于图标的按钮,适用于运输控制。 给予setLargeIcon()
的位图将被视为专辑封面。 与此处提供的其他样式不同,MediaStyle也可以修改标准尺寸contentView
; 通过向setShowActionsInCompactView(int)
提供操作索引,您可以将最多3个操作与常用内容一起在标准视图中显示。 使用MediaStyle创建的通知将其类别设置为CATEGORY_TRANSPORT
除非您使用setCategory()
设置了其他类别。 最后,如果您使用setMediaSession(MediaSessionCompat.Token)
附加setMediaSession(MediaSessionCompat.Token)
,则系统UI可将其识别为表示活动媒体会话的通知并作出相应响应(例如,通过在MediaSession.Token
setMediaSession(MediaSessionCompat.Token)
显示专辑封面)。 要在您的通知中使用此样式,请setStyle(NotificationCompat.Style)
如下方式将其提供给setStyle(NotificationCompat.Style)
:
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();
也可以看看:
Public constructors |
|
---|---|
NotificationCompat.MediaStyle() |
|
NotificationCompat.MediaStyle(NotificationCompat.Builder builder) |
Public methods |
|
---|---|
NotificationCompat.MediaStyle |
setCancelButtonIntent(PendingIntent pendingIntent) 设置按下取消按钮时待发送的待发送意图。 |
NotificationCompat.MediaStyle |
setMediaSession(MediaSessionCompat.Token token) 将 |
NotificationCompat.MediaStyle |
setShowActionsInCompactView(int... actions) 在紧凑型通知视图中显示最多3个动作(按索引顺序添加)。 |
NotificationCompat.MediaStyle |
setShowCancelButton(boolean show) 设置是否应在棒棒糖前的平台上显示右上角的取消按钮。 |
Inherited methods |
|
---|---|
From class android.support.v4.app.NotificationCompat.Style
|
|
From class java.lang.Object
|
NotificationCompat.MediaStyle ()
NotificationCompat.MediaStyle (NotificationCompat.Builder builder)
Parameters | |
---|---|
builder |
NotificationCompat.Builder
|
NotificationCompat.MediaStyle setCancelButtonIntent (PendingIntent pendingIntent)
设置按下取消按钮时待发送的待发送意图。 见setShowCancelButton(boolean)
。
Parameters | |
---|---|
pendingIntent |
PendingIntent : the intent to be sent when the cancel button is pressed |
Returns | |
---|---|
NotificationCompat.MediaStyle |
NotificationCompat.MediaStyle setMediaSession (MediaSessionCompat.Token token)
将 MediaSessionCompat.Token
附加到此通知以向SystemUI提供额外的播放信息和控制。
Parameters | |
---|---|
token |
MediaSessionCompat.Token
|
Returns | |
---|---|
NotificationCompat.MediaStyle |
NotificationCompat.MediaStyle setShowActionsInCompactView (int... actions)
在紧凑型通知视图中显示最多3个动作(按索引顺序添加)。
Parameters | |
---|---|
actions |
int : the indices of the actions to show in the compact notification view |
Returns | |
---|---|
NotificationCompat.MediaStyle |
NotificationCompat.MediaStyle setShowCancelButton (boolean show)
设置是否应在棒棒糖前的平台上显示右上角的取消按钮。
在Lollipop之前,框架中存在一个错误,该错误阻止了开发者在使用相同的通知作为正在进行的前台通知通知之后再次拒绝通知。 当通知由startForeground(int, Notification)
发布时,但随后服务通过stopForeground(boolean)
退出前台模式,但未取消通知,通知一直保持不变,因此不会被startForeground(int, Notification)
。
这是媒体通知的常见情况,因为这正是播放/暂停媒体时发生的服务生命周期。 因此,支持库提供了一种解决方法:支持库提供了向通知添加显式取消按钮的功能,而不是根据播放状态使通知继续进行。
请注意,如果显示取消按钮以提供一致的用户体验,则会强制执行通知。
另请注意,此方法在Lollipop及更高版本上运行时不可运行。
Parameters | |
---|---|
show |
boolean : whether to show a cancel button |
Returns | |
---|---|
NotificationCompat.MediaStyle |