我正在尝试将资源/流设置为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());
}
}
}
}
答案 0 :(得分:2)
我知道为时已晚......无论如何,它应该在4096 x 4096之内(在API 17,SDK 4.2下测试),否则主应用程序将崩溃并且将设置默认壁纸。