Ich möchte das Arwork-Image in meine Benachrichtigung laden (mit MediaStyle
).Wie kann ich eine Bitmap synchron mit Glide laden?
Verwendung des folgenden Codes stürzt meine Anwendung mit dem Fehler:
java.lang.IllegalArgumentException: You must call this method on a background thread
public Bitmap getAlbumArtwork(long albumID, int Height, int Width) {
try {
return Glide.with(mContext).load(getAlbumArtworkUri(albumID)).asBitmap().error(R.drawable.standardartwork).into(Width, Height).get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
return null;
}
Ich bin auch bereit, um die Bibliothek zu ändern, zum Beispiel zu UniversalImageLoader
, wenn nötig!
Zusätzlich
Ich benutze diese Methode das Bild um eine Benachrichtigung zu laden ... Diese Benachrichtigung in einem Dienst erstellt wird, so dass der ui nicht unterbrochen werden! Da ich keine ID der Benachrichtigungen von ImageView habe, weiß ich nicht, wie ich es anders einstellen soll! Außerdem brauche ich die Bitmap, um es zu den MediaMetaData für die MediaSession hinzuzufügen.
Sie diese Methode zwingen kann, auf UI-Thread ausgeführt werden. Obwohl du das vermeiden solltest. –
Hat Ihnen die Antwort geholfen? – OBX
nein, ich kehrte zu meiner alten Version zurück –