简体   繁体   中英

Android - How to get current wallpaper name

I'm developing an application that sets wallpapers from com.android.launcher3 package drawable resources. At some point I need to check if the wallpaper is set correctly so I can move on to other step.

After some research in SO and googling, I wasn't able to find any information about getting current wallpaper name.

Here is how I set the drawable which I have no 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();
    }

I can get the current wallpaper as drawable as well:

WallpaperManager wallpaper_manager = WallpaperManager.getInstance(m_context);
Drawable drawable                  = wallpaper_manager.getDrawable();

but I haven't managed to get current wallpaper name.

I need help.

Thanks in advance.

I would try this two options:

1. Using wallpaperManager

You shouold be able to get the information using this:

wallpaperManager.getWallpaperInfo();

This will return a WallpaperInfo object which contains all the data about the wallpaper.

More information https://developer.android.com/reference/android/app/WallpaperManager.html

2. Getting the drawable file

You can also try to get the URI of the drawable like this:

String imageUri = "drawable://" + R.drawable.image;

And get the file name from there.

Hope it helps you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM