我正在尝试在 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());
}
}
}
}