清理android桌面

清理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,null,resources)