欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 中WallpaperManager用法实例

程序员文章站 2023-12-15 14:47:40
android 中wallpapermanager用法实例 注意:壁纸的设置得加入权限:

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的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:

下一篇: