Try it, I tested it, I hope it helps you:
final WallpaperManager wallpaperManager = (WallpaperManager)getSystemService(
Context.WALLPAPER_SERVICE);
Bitmap myBitmap = Bitmap.createScaledBitmap(Const.cropped_bitmap, wallpaperManager.getDesiredMinimumWidth(), wallpaperManager.getDesiredMinimumHeight(), true);
wallpaperManager.suggestDesiredDimensions(wallpaperManager.getDesiredMinimumWidth(), wallpaperManager.getDesiredMinimumHeight());
try {
wallpaperManager.setBitmap(myBitmap);
Toast.makeText(CropImageActivity.this, CropImageActivity.this.getString(R.string.wallpaper_has_been_set), 0).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(CropImageActivity.this, "Wallpaper not set", 0).show();
}
source
share