如何通過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"/>