WallpaperManager中Stream / Bitmap的最大大小

时间:2012-11-24 17:10:18

标签: android

我正在尝试将资源/流设置为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());
            }
        }
    }
}

1 个答案:

答案 0 :(得分:2)

我知道为时已晚......无论如何,它应该在4096 x 4096之内(在API 17,SDK 4.2下测试),否则主应用程序将崩溃并且将设置默认壁纸。