热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android中WallpaperManager用法实例

这篇文章主要介绍了Android中WallpaperManager用法实例的相关资料,希望通过本文能帮助到大家实现这样的功能,需要的朋友可以参考下

Android 中WallpaperManager用法实例

注意:壁纸的设置得加入权限:

 

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


推荐阅读
  • Vue 2 中解决页面刷新和按钮跳转导致导航栏样式失效的问题
    本文介绍了如何通过配置路由的 meta 字段,确保 Vue 2 项目中的导航栏在页面刷新或内部按钮跳转时,始终保持正确的 active 样式。具体实现方法包括设置路由的 meta 属性,并在 HTML 模板中动态绑定类名。 ... [详细]
  • 本文探讨了如何通过最小生成树(MST)来计算严格次小生成树。在处理过程中,需特别注意所有边权重相等的情况,以避免错误。我们首先构建最小生成树,然后枚举每条非树边,检查其是否能形成更优的次小生成树。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 本文将详细介绍如何使用剪映应用中的镜像功能,帮助用户轻松实现视频的镜像效果。通过简单的步骤,您可以快速掌握这一实用技巧。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
author-avatar
mobiledu2502927537
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有