Androidの壁紙画像をプログラムで設定することは可能ですか? Web から画像をダウンロードして、ホーム画面の壁紙を定期的に更新するサービスを作成したいと考えています。
質問する
29189 次
4 に答える
32
画像の URL がある場合は、それを使用します
WallpaperManager wpm = WallpaperManager.getInstance(context);
InputStream ins = new URL("absolute/path/of/image").openStream();
wpm.setStream(ins);
画像URIがある場合は、使用します
WallpaperManager wpm = WallpaperManager.getInstance(context);
wpm.setResource(Uri.of.image);
マニフェスト ファイル内:
<uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>
于 2012-10-18T10:06:55.843 に答える
22
開発者サイトのこのページから:
public void setStream (InputStream data)
現在のシステムの壁紙を特定のバイト ストリームに変更します。指定された InputStream は永続ストレージにコピーされ、壁紙として使用されます。現在、JPEG または PNG 画像のいずれかである必要があります。
于 2009-12-26T19:54:39.377 に答える
5
画像のビットマップがある場合は、この関数を追加して壁紙として設定します。
public void SetBackground(int Url) {
try {
File file = new File("/sdcard/sampleimage");
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), Url);
bitmap.compress(CompressFormat.JPEG, 80, new FileOutputStream(file));
Context context = this.getBaseContext();
context.setWallpaper(bitmap);
Toast.makeText(getApplicationContext(), "Wallpaper has been set", Toast.LENGTH_SHORT).show();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
これに対する許可を追加する必要があります
<uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>
それがうまくいくことを願っています
于 2012-04-17T05:41:37.097 に答える
4
OKこれがapi2.0の前にそれをする方法です:
getApplicationContext.setWallpaper()を呼び出して、ビットマップを渡す必要があります。
このメソッドは非推奨になりました。新しい方法の詳細については、ChrisFの回答を参照してください。
于 2010-04-20T00:12:51.413 に答える