清理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。
--------------------------------------------------------------------------------