2

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());
            }
        }
    }
}
4

1 に答える 1