Warum bietet MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI keinen genauen "Album Artist"?

8

Ich arbeite mit dem Android MediaStore. Ich kann eine Liste mit Musik auf dem Gerät und allen Details zu jedem Medienelement (Titel, Interpret, Dauer usw.) abrufen.

Ich möchte in der Lage sein, eine Liste von Alben mit ihrem Album Artist zu zeigen.

Um klar zu sein, jeder Track hat einen Artist, wie "NoFX", aber wenn der Track auf einer Compilation-CD vorkommt, wie Punk-O-Rama, ist der Artist "NoFX", aber der Album-Artist wäre wahrscheinlich so etwas wie " Verschiedene Künstler. "

Ich habe die Frage hier überprüft:

Android - Album-Artist von Cursor holen

und ich versuche, mit MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI und MediaStore.Audio.Albums.ARTIST zu implementieren. Dies scheint jedoch nicht das richtige Ergebnis zu liefern.

Wenn ich mir den Android-Quellcode anschaue, kann ich sehen, dass tatsächlich ein Feld album_artist hinter MediaStore.Audio.Media.EXTERNAL_CONTENT_URI steht, aber es ist mit "@hide" gekennzeichnet. (Siehe Zeile ~ 1170 unter Ссылка ).

Ich habe dieses Feld durch einen anderen [verwandten] Android-Quellcode gefunden: Ссылка

Ich habe eine einfache App / Aktivität geschrieben, um das zu testen:

%Vor%

Diese Aktivität erzeugt die folgende logcat-Ausgabe:

%Vor%

Ich führe dies auf einem Nexus 7 mit 4.4.2. Ich habe auch getestet und das gleiche Verhalten auf einem Huawei Prism II unter 4.1.1

gesehen

Warum funktioniert die unkomplizierte und nicht "versteckte" Methode, Album Artists zu verwenden?

Was ich erwarte ist, dass die Albumabfragen auch "Various Artists" zurückgeben.

Alle Hilfe ist willkommen.

    
Matt 20.12.2013, 19:19
quelle

1 Antwort

0

Ich sehe nicht, dass Sie ListActivity irgendwo in Ihrem Code definieren oder importieren.

Sehen Sie sich diese zwei Beispiele an:

Gerry Woodberg 27.12.2013 23:27
quelle