К сожалению, для статических обоев нет никакой дополнительной информации, кроме информации, предоставляемой Drawable
.Вам необходимо сохранить Bitmap
сервер, последний раз отправленный на устройство, в фоновом режиме, а затем удалить удаленные обои и сравнить растровые изображения вручную.С уровнем API 12 или выше вы можете использовать метод Bitmap.sameAs
, но перед этим вам нужно сравнить пиксели вручную.
public static boolean equals(Bitmap bitmap1, Bitmap bitmap2)
{
if (bitmap1 == null || bitmap2 == null)
{
return false;
}
if(Build.VERSION.SDK_INT > 11)
{
return bitmap1.sameAs(bitmap2);
}
else
{
ByteBuffer buffer1 = ByteBuffer.allocate(bitmap1.getHeight() * bitmap1.getRowBytes());
bitmap1.copyPixelsToBuffer(buffer1);
ByteBuffer buffer2 = ByteBuffer.allocate(bitmap2.getHeight() * bitmap2.getRowBytes());
bitmap2.copyPixelsToBuffer(buffer2);
return Arrays.equals(buffer1.array(), buffer2.array());
}
}