Android(安卓)之 WallpaperManager用法
16lz
2021-01-25
阅读更多
注意:壁纸的设置得加入权限:
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);
下列为一个服务用来设置墙纸:
注意:壁纸的设置得加入权限:
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();}}}
更多相关文章
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- 一款霸榜 GitHub 的开源 Linux 资源监视器!
- android之多媒体篇(一)
- Android访问SQlite实现基本CRUD操作
- Android(安卓)中LayoutInflater.inflate()方法的介绍
- 在layout中直接指定onclick方法
- Android自动解除系统锁屏
- Android(安卓)7.1.2(Android(安卓)N) SystemUI--Recents Task 加
- Android(安卓)JNI入门实例(Windows+Cygwin+Eclipse)