注意:壁纸的设置得加入权限:
<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用法实例 注意:壁纸的设置得加入权限: <uses android:name=android.permission.SET_WALLPAPER/> 1、WallpaperManager 对象的获得: wallpaperManager =WallpaperManager....
源码参考,欢迎下载
摘要:Java源码,Android,Android Android壁纸管理WallpaperManager源代码,并非标准的Google版壁纸管理,是仿写的,目的是为了学习Android系统的编写,所以适合Android新手朋友们参考学习。
在Android 中具体实现方法如下 查考 //www.jb51.net/article/64781.htm private void applyBlur() { // 获取壁纸管理器 WallpaperManager wallpaperManager = WallpaperManager.getInstance(this.getContext())...
本文实例讲述了Android编程之手机壁纸WallPaper设置方法。分享给大家供大家参考,具体如下: /** * Andorid设置手机屏幕的壁纸 * * @description: * @author ldm * @date 2016-5-4 下午3:08:56 */ public ...
1、使用WallpaperManager的setResource(int ResourceID)方法 2、使用WallpaperManager的setBitmap(Bitmap bitmap)方法 3、重写ContextWrapper 类中提供的setWallpaper() 除此之外,我们还需要在应用程序中加入下列...
此程序是android更换壁纸代码 int[] images = new int[] { R.drawable.lijiang, R.drawable.qiao, R.drawable.shuangta, R.drawable.shui }; int index = 0; WallpaperManager wm;
本文实例讲述了Android编程将Activity背景设置为墙纸的简单实现方法。分享给大家供大家参考,具体如下: 1)代码方式 Drawable wallPaper = WallpaperManager.getInstance( this).getDrawable(); this.getWindow()....
本例子通过AlarmManager 来周期性的调用一个service,从而达到调用SD卡中图片来更换壁纸的功能,更换壁纸的API是WallpaperManager setBitmap(Bitmap bitmap):将壁纸设置bitmap所代表的位图 setResource(int resid):...
Flutter插件,用于更改Android设备上的主屏幕,锁屏(或两者)墙纸。 wallpaper_manager一个Flutter插件,用于更改Android设备上的...基本用法示例由于这不是Widget,因此您必须在asy内部创建WallpaperManager构造函数
需求: ...import android.app.WallpaperManager; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Environment; import java.io.File; import java.io.File
通过WallpaperManager解决华为M3青春版横屏壁纸缩放-附件资源
墙纸管理器是一种墙纸循环和管理工具,专为具有多个显示器的系统设计。
ShowWallpaper ( new WallpaperModel () { Path = " /xxx.mp4 " }, WallpaperManager . Screens [ 0 ]) // Display exe wallpaper WallpaperApi . ShowWallpaper ( new WallpaperModel () { Path = " /xxx.exe " },...