Android でリソース/ストリームを壁紙として設定しようとしています。WallpaperManager クラスとそのメソッド setResource/setStream を使用してこれを行います。私は通常、画像を壁紙として設定する前に、BitmapFactory.Options を使用して画像をスケーリングします。しかし今回は、スケーリングなしでフル イメージを試してみたかったのです。そこで、5005 x 3274 の解像度の画像をスケーリングせずに壁紙として設定しようとしました。そして驚いたことに、avd の壁紙がデフォルトのストック壁紙に変更されました。例外もエラーログもありません。以下は私が使用するコードです。
設定できる壁紙のサイズに制限はありますか?WallpaperManager ドキュメントに最大画像サイズに関する情報が見つかりません。どんな助けでも大歓迎です。
public void onBtnClick(View view) {
Thread t = new Thread(new Runnable() {
public void run(){
try{
mgr.setResource(R.drawable.wallpaper);
mHandler.post(new Runnable() {
public void run(){
Toast.makeText(MainActivity.this, R.string.toast_success, Toast.LENGTH_SHORT).show();
}
});
} catch(Exception ioe) {
Log.w("WallpaperManager", ioe.getMessage());
}
}
}
}