如何通过WallpaperManager(壁纸管理器)设置与修改壁纸?
WallpaperManager(壁纸管理器),是手机壁纸相关的一个API的相关类。其设置壁纸常有如下三种方法可调用:
- setBitmap(Bitmap bitmap):将壁纸设置为bitmap所代表的位图
- setResource(int resid):将壁纸设置为resid资源所代表的图片
- setStream(InputStream data):将壁纸设置为data数据所代表的图片
这是其余设置不强相关的方法:
- clear():清除壁纸,设置回系统默认的壁纸
- getDesiredMinimumHeight():最小壁纸高度
- getDesiredMinimumWidth():最小壁纸宽度
- getDrawable():获得当前系统壁纸,如果没有设置壁纸,则返回系统默认壁纸
- getWallpaperInfo():加入当前壁纸是动态壁纸,返回动态壁纸信息
- peekDrawable():获得当前系统壁纸,如果没设置壁纸的话返回null
在设置壁纸前,要在文件中设置权限:
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
设置壁纸主要是以下几个步骤:
1、获得WallpaperManager对象
主要常用的是以下二种调用办法:
(1)WallpaperManager wpManager =WallpaperManager.getInstance(this);
(2)WallpaperManager wpm = (WallpaperManager) getActivity().getSystemService(Context.WALLPAPER_SERVICE);
2、调用系统自带的壁纸选择功能
Intent chooseIntnet = new Intent(Intent.ACTION_SET_WALLPAPER);
Intent chooser = Intent.createChooser(chooseIntent, getText(R.string.chooser_wallpaper));
startActivity(chooser);
3.将Activity的背景设置为壁纸背景
一种是在Activity中用代码进行设置:
setTheme(android.R.style.Theme_Wallpaper_NoTitleBar_Fullscreen)
另一种是在AndroidManifest.xml中修改Activity的主题:
<activity android:name=".MainActivity"
android:theme="@android:style/Theme.Wallpaper.NoTitleBar"/>
最新文章
- JSON-fastjson
- activiti 里面各个方法理解
- MVVM架构~knockoutjs实现简单的购物车
- E:Sudoku
- JQ中mouseover和mouseenter的区别
- jquery uploadify 进入页面请求两次问题解决办法。
- 基于nginx和uWSGI在Ubuntu上部署Django
- 20160122.CCPP详解体系(0001天)
- vs2015 好用插件
- Android开发手记(7) 按钮类控件的使用
- 不在sudoer里解决办法 和 RHEL 挂载NTFS硬盘
- python3之requests
- MySQL数据库-----基本命令操作
- sp_who, sp_who2和sp_who3
- python基础学习10----集合
- python 等比数列
- 对C++里面 的知识积累:
- Mycat常见错误
- leetcode 168. Excel Sheet Column Title 171 Excel Sheet Column Number
- AngularJS1.6版本中ui-router路由中/#!/的解决方法 - zhuan