MediaMetadataCompat METADATA_KEY_ART legt das Bild nur beim ersten Mal fest

9

In meiner Anwendung verwende ich MediaSessionCompat , um Audio von meinem Media Player-Dienst abzuspielen. Insbesondere möchte ich die Metadaten des aktuellen Songs an Bluetooth-Geräte übertragen (was funktioniert) und das Sperrbildschirmbild auf das Albumcover des aktuellen Songs einstellen.

Ähnlich wie bei dieser Frage: Sperrbildschirmhintergrund in Android einstellen (wie Spotify)

Jedes Mal, wenn sich der Song ändert, lösche ich zuerst die aktuelle MediaMetadataCompat und PlaybackStateCompat von MediaSessionCompat like so:

%Vor%

Dann erstelle ich neue Instanzen dieser Klassen mit ihren jeweiligen Buildern

%Vor%

Dann setze ich die neuen Metadaten auf MediaSessionCompat

%Vor%

Auf meinem Bluetooth-Gerät funktionieren die Metadaten einwandfrei und ändern sich bei jedem Songwechsel. Auf meinem Handy wird die Albumabdeckung des Sperrbildschirms jedoch nur beim ersten Mal aktualisiert. Ich habe bestätigt, dass die Bitmap, die ich einstelle, die neue ist, aber das Bild ändert sich nicht.

Ich erstelle auch eine Medienstilbenachrichtigung im Dienst, damit der Benutzer die Musik von einer dauerhaften Benachrichtigung und von ihrem Sperrbildschirm aus steuern kann.

%Vor%

Die Methode setLargeIcon für meine Medienbenachrichtigung wirkt sich jedoch nicht auf das Albumcover aus, das auf dem Sperrbildschirm angezeigt wird. Dadurch wird es in der Benachrichtigung selbst angezeigt, aber nicht als Sperrbildschirmhintergrund.

    
Andrew Brooke 19.02.2017, 22:12
quelle

1 Antwort

1

Was Sie brauchen, ist eine MediaStyle Benachrichtigung

%Vor%

Der VISIBILITY_PUBLIC -Wert lässt die hier eingestellten Informationen auf Ihrem Sperrbildschirm sichtbar werden

Weitere Informationen finden Sie in dieser Beschreibung von @ianhanniballake Ссылка

    
pantos27 20.02.2017 19:52
quelle

Tags und Links