gpt4 book ai didi

Android - 如何使用 Intent 数据获取图像

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:46 25 4
gpt4 key购买 nike

我实现了从sdcard中的相册中获取图片的应用程序,但是它不能正常工作。

这里 Intent 像这样返回 Intent { act=com.htc.HTCAlbum.action.ITEM_PICKER_FROM_COLLECTIONS dat=content://media/external/images/media/9 typ=image/jpeg (has额外的)

在代码中

位图缩略图 = (Bitmap) data.getExtras().get("data");
这里 (Bitmap) data.getExtras().get("data")这部分返回 null

如何在此处获取位图,请任何人帮助我。

代码:

cam_images_btn.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {

Intent cam_ImagesIntent = new Intent(Intent.ACTION_GET_CONTENT);
cam_ImagesIntent.setType("image/*");
startActivityForResult(cam_ImagesIntent, CAMERA_IMAGES_REQUEST);
}
});

if(requestCode == CAMERA_IMAGES_REQUEST && resultCode==Activity.RESULT_OK)
{
System.out.println("data(CAMERA_IMAGES_REQUEST):"+data);
if(data != null)
{
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
System.out.println("Bitmap(CAMERA_IMAGES_REQUEST):"+thumbnail);
System.out.println("cap_image(CAMERA_IMAGES_REQUEST):"+cap_image);
cap_image.setImageBitmap(thumbnail);
}
else
{
System.out.println("SDCard have no images");
Toast.makeText(camera.this, "SDCard have no images", Toast.LENGTH_SHORT);
}
}

谢谢

最佳答案

在您的代码中执行以下操作:

 if(data != null)
{
Uri selectedImageUri = data.getData();
filestring = selectedImageUri.getPath();

Bitmap thumbnail = BitmapFactory.decodeFile(filestring, options2);

System.out.println("Bitmap(CAMERA_IMAGES_REQUEST):"+thumbnail);
System.out.println("cap_image(CAMERA_IMAGES_REQUEST):"+cap_image);
cap_image.setImageBitmap(thumbnail);
}

这应该有效。

编辑:此外,如果您想要“缩略图”,请执行以下操作:

Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(
getContentResolver(), selectedImageUriId,
MediaStore.Images.Thumbnails.MICRO_KIND,
(BitmapFactory.Options) null);

关于Android - 如何使用 Intent 数据获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7832773/

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