簡體   English   中英

Android - 如何設置壁紙圖片

[英]Android - how to set the wallpaper image

是否有可能以編程方式設置android壁紙圖片? 我想創建一個從Web下載圖像並定期更新主屏幕壁紙的服務。

如果您有圖片網址,請使用

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>

從開發者網站上的此頁面

public void setStream (InputStream data)

將當前系統壁紙更改為特定字節流。 將給出的InputStream復制到持久存儲中,現在將用作壁紙。 目前它必須是JPEG或PNG圖像。

如果你有圖像的位圖,你將添加此功能設置為壁紙:

  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>

希望它會奏效

好的這是在api 2.0之前如何做到這一點:

您需要調用getApplicationContext.setWallpaper()並將其傳遞給位圖。

此方法現已棄用。 有關新方法的詳細信息,請參閱ChrisF的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM