Android 中WallpaperManager用法實例
注意:壁紙的設置得加入權限:
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
1、WallpaperManager 對象的獲得:
wallpaperManager =WallpaperManager.getInstance(this);
2、設置壁紙的方法:
方法一:wallpaperManager.setBitmap(); // 參數
方法二:wallpaperManager.setResource(); // 參數為資源ID
方法三:通過ContextWrapper 類中的setWallpaper(); 方法 // 參數為一個輸入流
3、定時更換壁紙:
使用 AlarmManager 系統定時服務
PendingIntent pi = PendingIntent.getService(this,0, new Intent("SERVICE_TO_SETWALL"), PendingIntent.FLAG_UPDATE_CURRENT); AlarmManager alarmManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE); // 類型 ,執行延遲的時間,實行時間間隔,動作 alarmManager.setRepeating(alarmManager.RTC_WAKEUP, 0, 2000, pi); 下列為一個服務用來設置墻紙:
import android.app.Service; import android.app.WallpaperManager; import android.content.Intent; import android.os.IBinder; /** * 實現效果 -- 墻紙的切換 , 背景圖片 * @author Administrator * */ public class WallService extends Service { private int[] res = new int[]{R.drawable.a,R.drawable.b,R.drawable.c}; // 切換圖片資源 private WallpaperManager wallpaperManager; //墻紙管理器 private int index; // 資源索引 // 綁定服務 public IBinder onBind(Intent intent) { return null; } // 創建服務 public void onCreate() { super.onCreate(); wallpaperManager = WallpaperManager.getInstance(WallService.this); // 獲取壁紙管理器對象 } // 銷毀服務 public void onDestroy() { super.onDestroy(); } /** * 啟動服務 * 每次啟動開始獲取資源 */ public void onStart(Intent intent, int startId) { super.onStart(intent, startId); try{ if(index>=3){ index = 0; } wallpaperManager.setResource(res[index++]); // 設置資源 }catch(Exception ex){ ex.printStackTrace(); } } } 以上就是Android WallpaperManager的實例,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答