注意:壁纸的设置得加入权限:
<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用法实例 Android 中的WallpaperManager是Android系统提供的一个管理壁纸的API,通过该API可以实现壁纸的设置、更换、管理等功能。下面是Android 中WallpaperManager用法实例的相关知识...
【Android应用源码之WallpaperManagerSample.zip】是一款基于Android平台的应用示例,它主要展示了如何使用`WallpaperManager`类来操作手机壁纸。在这个压缩包中,我们可以通过查看源代码来学习如何设置、更改以及...
总结来说,Android的壁纸设置涉及到`WallpaperManager`类的使用,通过`setBitmap()`等方法可以实现静态壁纸的设置。通过分析提供的demo源码和运行apk文件,我们可以深入理解这一过程,学习如何在Android应用中实现...
1. 使用 WallpaperManager 类:Android 提供了 WallpaperManager 类,允许我们进行壁纸的设置。通过 Context.getSystemService() 方法获取 WallpaperManager 实例,然后调用其相应的方法来设置壁纸。例如,可以使用 ...
2. **使用Java代码**:如果你希望在运行时动态加载图片,可以使用以下方法: ```java ImageView backgroundImageView = new ImageView(this); backgroundImageView.setScaleType(ImageView.ScaleType.FIT_XY); ...
在Android系统中,壁纸设置是用户个性化手机界面的重要方式之一。开发者可以通过编程接口来实现自定义壁纸的功能,为用户提供更多的个性化选择。这篇博客"Android 壁纸设置代码详解"可能详细介绍了如何在Android应用...
1、使用WallpaperManager的setResource(int ResourceID)方法 2、使用WallpaperManager的setBitmap(Bitmap bitmap)方法 3、重写ContextWrapper 类中提供的setWallpaper() 除此之外,我们还需要在应用程序中加入下列...
在Android的壁纸管理API中,`getWallpaper()`是` WallpaperManager`类的一个方法,它用于获取当前设置的系统桌面壁纸。这个方法会返回一个`Bitmap`对象,表示当前壁纸的图像。要使用这个方法,你需要先获取到`...
在Android 中具体实现方法如下 查考 //www.jb51.net/article/64781.htm private void applyBlur() { // 获取壁纸管理器 WallpaperManager wallpaperManager = WallpaperManager.getInstance(this.getContext())...
下面我们将深入探讨AlarmManager的使用方法以及如何结合其他组件来实现壁纸更换。 AlarmManager是Android系统提供的一个关键组件,它允许开发者安排在特定时间或间隔执行的操作。在壁纸更换应用中,我们通常会设置...
WallpaperManager是Android SDK提供的一款用于管理壁纸的服务,开发者可以使用它来设置、查询和操作设备的壁纸。在WallpaperManagerSample中,我们能看到如何有效地与WallpaperManager进行交互,从而实现用户界面的...
对于本地图片,可以使用`wallpaperManager.setBitmap(Bitmap bitmap)`方法;对于网络图片,先下载到本地,再调用此方法。 - 处理权限:在AndroidManifest.xml中,需要添加读写外部存储权限`<uses-permission ...
在Android中,`clearWallpaper()`方法是用于删除当前设置的壁纸,让屏幕显示为默认的纯色背景。该方法位于`WallpaperManager`类中。如果你想在自定义应用中实现类似的功能,或者需要在特定条件下清除壁纸,你需要...
综上所述,`WallpaperManagerSample`项目是学习和理解如何在Android中使用`WallpaperManager`的绝佳实践,通过分析这个项目,开发者可以掌握设置和管理壁纸的基本技能,并在此基础上进行更复杂的壁纸功能开发。
【Android应用源码之WallpaperManagerSample】是一个针对Android平台的源码示例项目,它主要展示了如何使用Android系统的WallpaperManager类来实现壁纸管理功能。这个项目对于计算机科学特别是移动应用开发专业的...
通过调用`WallpaperManager`的相关方法,如`setBitmap()`或`setStream()`,可以完成壁纸的设置。 再者,`meetingApp`可能实现了自定义壁纸的功能,让用户能够选择手机内的任何图片作为壁纸。这需要读取文件系统,...
在Android系统中,用户可以自由地设置个性化壁纸来装饰自己的手机界面,这为用户提供了丰富的个性化体验。...在这个过程中,涉及到文件系统访问、图片处理、系统服务使用等多个Android开发的核心知识点。
在Android平台上,开发一个设置壁纸的简单程序涉及多个关键知识点,包括Android SDK的使用、Activity生命周期、Intent机制、壁纸服务以及图像处理等。下面将详细阐述这些内容。 首先,Android SDK是开发Android应用...
对于静态壁纸的设置,通常涉及到Intent的使用。通过启动系统的壁纸选择器Intent,用户可以选择系统或应用提供的图片作为壁纸。以下代码展示了如何启动系统壁纸设置: ```java Intent setWallpaperIntent = new ...