Je suis en train de développer une application qui définit les fonds d'écran de com.android.launcher3
package drawable resources. À un moment donné, j'ai besoin de vérifier si le fond d'écran est réglé correctement afin que je puisse passer à l'autre étape. Après quelques recherches sur SO et googling, je n'ai pas trouvé d'informations sur l'obtention du nom actuel du papier peint.Android - Comment obtenir le nom de fond d'écran en cours
Voici comment je régler la drawable que je n'ai aucun problème:
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();
}
je peux obtenir le fond d'écran actuel comme drawable ainsi:
WallpaperManager wallpaper_manager = WallpaperManager.getInstance(m_context);
Drawable drawable = wallpaper_manager.getDrawable();
mais je ne l'ai pas réussi à obtenir nom actuel du papier peint.
J'ai besoin d'aide.
Merci d'avance.
.getWallpaperInfo(); sera nul si le fond d'écran actuel n'est pas un fond d'écran en direct. Pour votre deuxième réponse Je n'ai pas le drawable dans ma ressource. C'est un drawable d'une autre ressource de paquetage donc je ne serai pas capable d'atteindre sa classe R. –