【问题标题】:Notification setStyle not working in sdk30通知 setStyle 在 sdk30 中不起作用
【发布时间】:2022-01-11 10:15:19
【问题描述】:

MediaSessionCompat mediaSessionCompat = new MediaSessionCompat(ctx, "tag");

当我设置 .style() 时,不输出通知。 除了设置上下文和标签之外,您还需要在 mediaSessionCompat 中做些什么吗?

【问题讨论】:

  • 什么不起作用?是否显示通知?你在 mediasession 上使用 setMetaData 吗?更新您的问题以提供更多信息。
  • 谢谢。当我设置 .style() 通知未显示时如何在 mediasession 上使用 setMetaData?

标签: android notifications mediasession


【解决方案1】:

如果您在通知上使用setStyle 方法,则需要为 MediaSession 提供元数据。

private void updateMetadata () {
mediaSession.setMetadata(new MediaMetadataCompat.Builder()
                                     .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, song.getArtistTitle())
                                     .putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST, song.getArtistTitle())
                                     .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, song.getAlbumTitle())
                                     .putString(MediaMetadataCompat.METADATA_KEY_TITLE, song.getTitle())
                                     .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, song.getDuration())
                                     .putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, getPosition())
                                     .putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, null)
                                     .build());
}

不要忘记调用此方法,例如当您的数据发生变化时。我不知道你是如何处理的,所以我无法为它提供正确的位置。我会说当歌曲更改时更新通知的同一个地方,这只是一个建议。

【讨论】:

  • 感谢您分享您的知识。
猜你喜欢
  • 2013-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多