Ich entwickle eine Anwendung, die Hintergrundbilder von com.android.launcher3
Paket ausklappbaren Ressourcen setzt. Irgendwann muss ich überprüfen, ob das Hintergrundbild richtig eingestellt ist, damit ich zu einem anderen Schritt weitergehen kann.Android - So erhalten Sie aktuelle Hintergrundbild Name
Nach einigen Recherchen in SO und Googeln konnte ich keine Informationen über den aktuellen Hintergrundnamen finden.
Hier ist, wie ich die ziehbar gesetzt, was ich habe kein Problem:
try {
WallpaperManager wallpaper_manager = WallpaperManager.getInstance(m_context);
Resources res = m_context.getPackageManager().getResourcesForApplication("com.android.launcher3");
int drawable_id = res.getIdentifier(wallpaper_name, "drawable", "com.android.launcher3");
Drawable drawable = res.getDrawable(drawable_id, null);
if(drawable != null) {
wallpaper_manager.setBitmap(((BitmapDrawable)drawable).getBitmap());
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Ich kann auch das aktuelle Wallpaper als ziehbar erhalten:
WallpaperManager wallpaper_manager = WallpaperManager.getInstance(m_context);
Drawable drawable = wallpaper_manager.getDrawable();
aber ich habe es nicht geschafft zu bekommen aktueller Hintergrundname
Ich brauche Hilfe.
Vielen Dank im Voraus.
.getWallpaperInfo(); wird null sein, wenn das aktuelle Hintergrundbild kein Live-Hintergrundbild ist. Für deine zweite Antwort; Ich habe das Zeichen nicht in meiner Ressource. Es kann von einer anderen Paketressource gezeichnet werden, so dass ich seine R-Klasse nicht erreichen kann. –