おはようございます。壁紙を設定するときに、ネットから 1024 x 768 のサイズで jpg でダウンロードした壁紙を正しく設定するコードがあります。これはすべてのホームスクリーンに配布されますが、Android 4 以降ではスクロールできず、すべてのホーム画面で修正された画像の一部 問題を解決したいので、助けていただければ幸いです
挨拶とごめんなさい英語
//path is a String with image's url
public int setWallpaper(String path) {
int width, height;
Bitmap dbm, bm;
bm = null;
dbm = null;
InputStream is = null;
WallpaperManager wpm = wallpaperManager.getInstance(this);
//all images are 1024x 768
//to scale bitmap the widht have to be 1.33 bigger than screen's height
if((wpm != null) && (dis != null)){
height = dis.getHeight();
width = (int) (height * 1.33);
try {
URLConnection conn = new URL(path).openConnection();
conn.connect();
is = conn.getInputStream();
if (is != null) {
bm = BitmapFactory.decodeStream(new FlushedInputStream(is));
dbm = Bitmap.createScaledBitmap(bm, width, height, false);
wpm.setBitmap(dbm);
}else {
return 2;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
if(bm != null){
bm.recycle();
}
if(dbm != null){
dbm.recycle();
}
}else {
return 1;
}
return 0;
}