获取当前动态壁纸的图像

时间:2014-12-16 07:34:47

标签: android live wallpaper

我正在开发一款Android应用程序,它使用wallpapermanager和新的调色板api从当前壁纸中提取最主要的颜色。我现在有一个问题,因为我在使用像muzei这样的动态壁纸时无法提取任何颜色。我将如何继续这样做?如果当前设置了动态壁纸,必须有类似支票的东西才会使用除wallpapermanager之外的其他东西。或者也许有可能抓住动态壁纸的屏幕截图?

谢谢!

解决方案:

//Reference to the package manager instance
    PackageManager pm = getApplicationContext().getPackageManager();

/*
 * Wallpaper info is not equal to null, that is if the live wallpaper
 * is set, then get the drawable image from the package for the
 * live wallpaper
 */
    Drawable wallpaperDrawable = null;
    if (WallpaperManager.getInstance(this).getWallpaperInfo() != null) {
        wallpaperDrawable = WallpaperManager.getInstance(this).getWallpaperInfo().loadThumbnail(pm);
    }

/*
 * Else, if static wallpapers are set, then directly get the
 * wallpaper image
 */
    else {
        wallpaperDrawable = WallpaperManager.getInstance(this).getDrawable();
    }
    //Drawable wallpaperDrawable = WallpaperManager.getInstance(this).getDrawable();
    //Toast.makeText(this,"Wallpaper Info: " + WallpaperManager.getInstance(this).getWallpaperInfo(), Toast.LENGTH_SHORT).show();
    Drawable wallpaperDrawable2 = wallpaperDrawable;

1 个答案:

答案 0 :(得分:-3)

是的,你可以使用你的手机音量降低键+锁定键来截取屏幕截图 按下音量调低键+锁定键,同时可以进行屏幕截图。

android and pc wallpaper