清理android的桌面应该怎么实现呢?
在activity中重写ContextWrapper里定义的方法clearWallpaper
@Override
public void clearWallpaper() throws IOException
{
// TODO Auto-generated method stub
super.clearWallpaper();
}
就可以搞定了哦,当然如果我们清理桌面的时候,用户正在设置桌面,发生冲突的时候,就会抛出IOException。
---------------------------------------------------------------------------------------------
为android的桌面换背景图片应该怎么搞呢?
@Override
public void setWallpaper(Bitmap bitmap) throws IOException {
super.setWallpaper(bitmap);
}
说明:BitmapFactory中有大量的方法可以让我通过图片来获取Bitmap对象;此外Bitmap中也有许多静态方法可以创建一个Bitmap对象用于桌面更换
@Override
public void setWallpaper(InputStream data) throws IOException {
super.setWallpaper(data);
}
Resources对象可以调用,openRawResources方法来通过图片获取一个InputStream使用。
----------------------------------------------------------------------
如何获取当前android的桌面图片呢?
@Override
public Drawable getWallpaper() {
return super.getWallpaper();
}
和
public Drawable peekWallpaper() {
return super.peekWallpaper();
}都可以,两者的区别在于,在没有桌面的时候,getWallpaper会返回系统默认的背景,而peekWallpaper返回的是null。
--------------------------------------------------------------------------------
本文介绍了如何在Android中实现清理桌面壁纸以及更换桌面壁纸的方法。通过重写`clearWallpaper()`来清理壁纸,可能会遇到IOException。更换壁纸可以通过`setWallpaper(Bitmap)`或`setWallpaper(InputStream)`完成,Bitmap可以从资源或文件中获取。同时,提供了获取和查看当前壁纸的`getWallpaper()`和`peekWallpaper()`方法,两者在无壁纸时的区别在于返回值不同。
562

被折叠的 条评论
为什么被折叠?



