`
1140566087
  • 浏览: 547785 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18076
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309525
Group-logo
J2ME 基础学习课程集
浏览量:18008
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17195
社区版块
存档分类
最新评论

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();
		}
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics