gpt4 book ai didi

android - BitmapFactory.decodeStream 总是返回空值

转载 作者:行者123 更新时间:2023-11-30 03:06:40 27 4
gpt4 key购买 nike

我在这里从 Cursor 获取值:

    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();
}
}

我正在尝试将 byte[] 更改为位图,但根据以下帖子中的答案,我总是得到 null Android: bitmapfactory.decodestream returns null我试过 BufferedInputStream 但它对我不起作用。还有 Romain Guy这里说这是android中的一个已知缺陷,但答案很老,如果有办法让位图正确,请告诉我。

最佳答案

公共(public)静态最终字符串 PHOTO_URI

在 API 级别 11 中添加可用于检索联系人的全尺寸照片的 URI。如果 PHOTO_FILE_ID 不为空,这将使用基于 CONTENT_URI 的 URI 进行填充。否则,这将使用与 PHOTO_THUMBNAIL_URI 相同的值填充。照片可以通过 URI(此字段)或 ID(参见 PHOTO_ID)来引用。如果 PHOTO_FILE_ID 或 PHOTO_ID 不为空,则 PHOTO_URI 和 PHOTO_THUMBNAIL_URI 不得为空(但不一定反之亦然)。因此,使用 PHOTO_URI 是一种更可靠的检索联系人照片的方法。

类型:文本

常量值:“photo_uri”

这就是文档所说的,pskink 是正确的,它返回一个字符串。如果 decodeStream 无法解码图像数据并且它也不会生成任何异常,则添加 decodeStream 也会返回 null,所以要小心,在使用它之前检查值。

关于android - BitmapFactory.decodeStream 总是返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21709163/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com