Я работаю над 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;
Может быть, вы должны добавили свое решение в качестве ответа, вы позволяете разместить ответ на свой вопрос :) – dvhh
с которой LWP и Android версии был этим рабочим? Потому что он не работает с Muzei и Android 5.1. Я получаю только миниатюру, нет живого обновленного изображения. – F43nd1r