#android #notifications #mediasession
#Android #уведомления #медиасессия
Вопрос:
MediaSessionCompat mediaSessionCompat = new MediaSessionCompat(ctx, "tag");
Когда я устанавливаю .style(), уведомление не выводится. Есть ли что-нибудь в mediaSessionCompat, что вам нужно сделать, кроме настройки контекста и тега?
Комментарии:
1. Что не работает? Отображается ли уведомление? Используете ли вы setMetaData в mediasession? Обновите свой вопрос, чтобы предоставить дополнительную информацию.
2. Спасибо. Когда я устанавливаю .style() уведомление не отображается, как я могу использовать setMetaData в mediasession?
Ответ №1:
Если вы используете этот setStyle
метод в уведомлении, вам необходимо предоставить метаданные для сеанса МУЛЬТИМЕДИА.
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()); }
Не забудьте вызвать этот метод, например, при изменении ваших данных. Я не знаю, как вы справляетесь с этим, поэтому я не могу предоставить для этого правильное место. Я бы сказал, что там же, где вы обновляете уведомление, когда меняется песня, и это всего лишь предложение.
Комментарии:
1. Спасибо вам за то, что поделились своими знаниями.