经过几个小时的挫折,我找到了解决方案。
通过在 API 返回的响应上调用getContentType(
),我能够识别出响应只是给定类型的图像。就我而言,我发现它是“text/jpeg”。InputStream
您可以通过调用来检索内容的getContent()
。
BitmapFactory
类允许您将 a 解码InputStream
为Bitmap
.
Bitmap photo = BitmapFactory.decodeStream(request.execute().getContent());
为了显示这个图像,我首先需要为DialogBuilder
.
LayoutInflater factory = LayoutInflater.from(mapView.getContext());
final View view = factory.inflate(R.layout.dialog_layout, null);
dialog.setView(view);
接下来,我获取照片响应并将其添加到ImageView
布局中(已在 XML 中定义):
LinearLayout ll = (LinearLayout) view.findViewById(R.id.dialogLayout);
ImageView imageView = (ImageView) ll.findViewById(R.id.placePhoto);
imageView.setImageBitmap(photo);
请务必注意,“地点详细信息”响应最多可以发回 10 张照片。您不能保证“最佳”照片会被退回。就我而言,我选择第一个。