facebook twitter hatena line email

Android/ライブ壁紙作成/設定された壁紙からbitmap取得

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
import android.content.Context;
import android.graphics.Bitmap;
import android.app.WallpaperManager;
import android.graphics.drawable.Drawable;
import android.graphics.Canvas;
/**
 * ライブ壁紙ユーティリティ
 */
public class WallpaperUtil {
  // 現在設定されている壁紙のBitmapを取得
  public static Bitmap getBitmap(Context context) {
    WallpaperManager wmanager = WallpaperManager.getInstance(context);
    Drawable drawable = wmanager.getDrawable();
    int width  = drawable.getIntrinsicWidth();
    int height = drawable.getIntrinsicHeight();
    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, width, height);
    drawable.draw(canvas);
    return bitmap;
  }
}