天天看點

如何通過WallpaperManager(桌面管理器)設定與修改桌面? - 高速轉彎

如何通過WallpaperManager(桌面管理器)設定與修改桌面?

WallpaperManager(桌面管理器),是手機桌面相關的一個API的相關類。其設定桌面常有如下三種方法可調用:

- setBitmap(Bitmap bitmap):将桌面設定為bitmap所代表的位圖

- setResource(int resid):将桌面設定為resid資源所代表的圖檔

- setStream(InputStream data):将桌面設定為data資料所代表的圖檔

這是其餘設定不強相關的方法:

- clear():清除桌面,設定回系統預設的桌面

- getDesiredMinimumHeight():最小桌面高度

- getDesiredMinimumWidth():最小桌面寬度

- getDrawable():獲得目前系統桌面,如果沒有設定桌面,則傳回系統預設桌面

- getWallpaperInfo():加入目前桌面是動态桌面,傳回動态桌面資訊

- peekDrawable():獲得目前系統桌面,如果沒設定桌面的話傳回null

在設定桌面前,要在檔案中設定權限:

<uses-permission android:name="android.permission.SET_WALLPAPER"/>

設定桌面主要是以下幾個步驟:

1、獲得WallpaperManager對象

主要常用的是以下二種調用辦法:

(1)WallpaperManager wpManager =WallpaperManager.getInstance(this);

(2)WallpaperManager wpm = (WallpaperManager) getActivity().getSystemService(Context.WALLPAPER_SERVICE);

2、調用系統自帶的桌面選擇功能

Intent  chooseIntnet = new Intent(Intent.ACTION_SET_WALLPAPER);

Intent chooser = Intent.createChooser(chooseIntent,  getText(R.string.chooser_wallpaper));

startActivity(chooser);

 3.将Activity的背景設定為桌面背景

一種是在Activity中用代碼進行設定:

setTheme(android.R.style.Theme_Wallpaper_NoTitleBar_Fullscreen)

另一種是在AndroidManifest.xml中修改Activity的主題:

<activity android:name=".MainActivity"

android:theme="@android:style/Theme.Wallpaper.NoTitleBar"/>           
如何通過WallpaperManager(桌面管理器)設定與修改桌面? - 高速轉彎