2014-02-11 4 views
1

Здесь я извлечение значения из Cursor:BitmapFactory.decodeStream всегда возвращается нулевое значение

if (mProfileCursor.moveToFirst()) { 
     byte[] blob = mProfileCursor.getBlob(
      mProfileCursor.getColumnIndex(ContactsContract.Profile.PHOTO_URI)); 
     ByteArrayInputStream inputStream = new ByteArrayInputStream(blob); 
     BufferedInputStream bis = new BufferedInputStream(inputStream,1024); 
     bitmap = BitmapFactory.decodeStream(bis); 
    } 
} finally { 
    if (mProfileCursor != null) { 
     mProfileCursor.close(); 
    } 
} 

Я пытаюсь изменить байты [] в растровое изображение, но я получаю всегда нуля, согласно ответам в следующем сообщении Android: bitmapfactory.decodestream returns null Я пробовал BufferedInputStream, но он не работает для меня. Также Romain Guy здесь сказал, что это известный дефект в android, но ответ очень старый, пожалуйста, дайте мне знать, есть ли способ получить растровое изображение правильно.

+0

PHOTO_URI - это текст, а не blob – pskink

ответ

1

общественность статическая конечная строка PHOTO_URI

Добавлено уровень API 11 URI, который может быть использован для получения полноразмерного фото контакта. Если PHOTO_FILE_ID не является нулевым, это будет заполнено URI, основанным на CONTENT_URI. В противном случае это будет заполнено с тем же значением, что и PHOTO_THUMBNAIL_URI. На фото можно ссылаться либо на URI (это поле), либо по ID (см. PHOTO_ID). Если PHOTO_FILE_ID или PHOTO_ID не являются нулевыми, PHOTO_URI и PHOTO_THUMBNAIL_URI не должны быть нулевыми (но не обязательно наоборот). Таким образом, использование PHOTO_URI является более надежным методом получения контактных фотографий.

Тип: TEXT

Константа Значение: "photo_uri"

Это то, что говорит доктор, pskink прав, он возвращает строку. Кроме того, для добавления decodeStream возвращается значение null, если оно не способно декодировать данные изображения, и оно также не генерирует никаких исключений, поэтому будьте осторожны, проверьте значения перед использованием.

Смежные вопросы