前几天看到豌豆荚上面风景壁纸的APP 下载得挺火,闲来无事心痒痒的想写一个壁纸程序。由于是Android开发新手,忘记了一个很重要的开发步骤,就是对权限的设置。开始以为自己写的壁纸设置程序有问题,经过对doc文档的多次阅读,写好几种对壁纸的设置。供大家参考。
1、别忘记在ApplicationManifest.xml 中加上权限的设置。
<uses-permission android:name = "android.permission.SET_WALLPAPER"/>
2、设置壁纸的方法总结。
壁纸设置方法有三种
第一 通过WallpaperManager方法中的 setBitmap()
第二 通过WallpaperManager方法中的 setResource()
第三 通过ContextWrapper 类中提供的setWallpaper()方法
由于 Activity 继承ContextThemeWrapper ,ContextThemeWrapper继承 ContextWrapper.
1)通过实例化WallpaperManager 类调用单例类中setBitmap()方法。
WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); Resources res = getResources(); Bitmap bitmap=BitmapFactory.decodeResource(res, getResources().getIdentifier("wallpaper" + imagePosition, "drawable", "com.ch")); wallpaperManager.setBitmap(bitmap); Toast.makeText(this, "设置成功", Toast.LENGTH_SHORT).show();
2)第二 通过WallpaperManager方法中的 setResource()
WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); try { wallpaperManager.setResource(getResources().getIdentifier("wallpaper" + imagePosition, "drawable", "com.ch")); Toast.makeText(this, "设置成功", Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); }3)第三 通过ContextWrapper 类中提供的setWallpaper()方法
//重写ContextWrapper中setWallpaper()方法 public void setWallpaper(InputStream paramInputStream) throws IOException { super.setWallpaper(paramInputStream); Toast.makeText(this, "设置成功", 1).show(); } //设置壁纸代码 Resources localResources = getBaseContext().getResources(); InputStream localInputStream2 = localResources .openRawResource(getResources().getIdentifier( "wallpaper" + imagePosition, "drawable", "com.ch")); try { setWallpaper(localInputStream2); } catch (IOException e) { e.printStackTrace(); }
总结:
设置壁纸功能很简单,可以当成我们第一个app应用练手。其中可以加入ImageSwitcher 和gallery等控件。
真正完成一个可以发布的App应用
相关推荐
在这个名为"android桌面壁纸1"的项目中,我们将深入探讨Android壁纸开发的相关知识。 一、Android壁纸服务基础 Android壁纸服务是通过实现`WallpaperService`类来创建的。这个服务允许用户设置动态或静态壁纸,并...
摘要:Java源码,Android,Android Android壁纸管理WallpaperManager源代码,并非标准的Google版壁纸管理,是仿写的,目的是为了学习Android系统的编写,所以适合Android新手朋友们参考学习。
Android Launcher 源码详解 Android Launcher 是 Android 系统中一个非常重要的组件,负责显示桌面程序和管理应用程序图标。了解 Launcher 的源码可以帮助我们更好地理解 Android 系统的设计思想和实现机制。本文...
【Android动态壁纸开发详解】 Android动态壁纸是一种可以让用户在手机主屏幕上看到动态效果的应用,它不仅限于静态图片,还能展示动画、交互式图形或其他视觉特效。2011.09.21的这篇博客文章深入探讨了如何开发...
本书《Android多媒体开发技术实战详解》由熊斌撰写,深入浅出地介绍了如何在Android环境中进行多媒体应用的开发。第16章特别关注了屏保程序的实现,这是一个有趣且实用的技术,它不仅能够提升用户体验,还能展示...
6. 测试动态壁纸:在真机或模拟器上安装应用,通过设置>壁纸>动态壁纸来选择并应用你的动态壁纸。 四、注意事项 - 动态壁纸的性能至关重要,因为它们会持续运行。确保优化代码,避免过度消耗CPU和电池。 - 考虑...
【Android动态壁纸开发详解】 在Android平台上,动态壁纸是一种能够为用户提供个性化桌面体验的功能,它允许用户设置具有交互性和动画效果的背景。本教程将基于【andrio开源源码4】,深入解析如何开发一款樱花飘落...
一、Android TV的tvsettings设置详解: 1. **主屏幕设置**:用户可以在此更改主屏幕的布局,自定义常用应用的位置,调整快捷方式,以及设置主屏幕壁纸。 2. **显示设置**:包括分辨率、亮度、色彩平衡等选项,确保...
3.4、响应系统设置的事件: 3.5、Handler消息传递机制: 第4章、深入理解Activity 4.1、建立、配置和使用Activity: 4.2、Activity的回调机制: 4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter...
### Android系统原理与开发要点详解 #### 一、Android系统概述及基础知识 **1.1 Android系统背景** Android系统是由Google公司与33家合作伙伴共同创立的“开放手机联盟”(Open Handset Alliance, OHA)开发的一...
《安卓4.0 ICS(Ice Cream Sandwich)源代码详解》 在移动操作系统的世界中,Android以其开源性和灵活性深受开发者喜爱。尤其是对于那些热衷于深入理解系统运作、追求个性化定制或者希望进行底层优化的开发者而言,...
【Android 4.0 原生 Launcher 代码详解】 Android 4.0(冰淇淋三明治,Ice Cream Sandwich)的 Launcher 是用户界面的核心部分,它作为系统的启动器,负责展示应用图标、小部件和主屏幕。理解其源码对于开发者深入...
《Android壁纸应用开发详解》 Android系统以其开放性和丰富的自定义性深受用户喜爱,其中,墙纸(Wallpaper)作为个性化设置的重要一环,让用户能够根据个人喜好来装饰自己的手机界面。本文将深入探讨Android系统中...
### Android 2.2 特色详解 #### 1.1 11项重点升级:Android 2.2全方位解析 Android 2.2(代号Froyo,意为冻酸奶)作为Android系统发展历史上的一个重要里程碑,在2010年的Google I/O大会上正式发布。这一版本不仅...
《Android安卓开发经典设计学习——WallpaperManagerSample详解》 在Android应用开发中,了解并掌握经典设计模式和系统...对于任何希望深入理解Android壁纸管理和设计模式的开发者来说,这是一个不可多得的参考案例。
【Android动态壁纸开发详解】 Android动态壁纸是一种可以让用户在手机主屏幕上看到动态视觉效果的应用,它为用户提供了个性化和互动的体验。在这个“Android樱花漂落的动态壁纸”项目中,我们将深入探讨如何创建...
【Android屏保开发详解】 Android系统作为全球最受欢迎的智能手机操作系统之一,其丰富的定制性和开放性为开发者提供了广阔的空间。在Android中,屏保(Live Wallpaper)是一种动态壁纸,它可以为用户的手机桌面...
《Android 4.2.2 API 17 官方源代码详解》 Android 4.2.2,代号Jelly Bean,是Google在2012年11月发布的Android操作系统的一个重要版本,其API级别为17。这个版本的发布带来了许多功能更新和性能优化,对开发者和...