我想检查,如果联系人的当前用户图片与SD卡上的用户图片相同...
我将用户图片设置如下:
byte[] photo = ImageFunctions.convertImageToByteArray(bitmap);
ContentValues values = new ContentValues();
....
values.put(ContactsContract.CommonDataKinds.Photo.PHOTO, photo);
...
我读了下面的图片:
InputStream inputStream = ContactsContract.Contacts.openContactPhotoInputStream(
contentResolver,
ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, mId),
fullsize);
if (inputStream != null)
return BitmapFactory.decodeStream(inputStream);
我的转换功能如下:
public static byte[] convertImageToByteArray(Bitmap bitmap)
{
ByteArrayOutputStream streamy = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 100, streamy);
return streamy.toByteArray();
}
我在位图的字节数组上使用md5哈希来查找更改......实际上,图像并不完全相同。
我该怎么办,以便比较哈希码?看起来像压缩或其他不完全相同的东西,所以md5哈希检查失败了......