从画廊ACTION_GET_CONTENT不工作的ImageView的setImageURI()后,乌里返回画廊、工作、setImageURI、ACTION_GET_CONTENT

2023-09-05 07:09:08 作者:陌笙°

我是从画廊使用在获取图像的乌里

I am fetching Uri of a image from gallery using

Intent intent = new Intent();  
intent.setType("image/*");  
intent.setAction(Intent.ACTION_GET_CONTENT);  
startActivityForResult(Intent.createChooser(intent, "Choose Picture"), requestCode);

和试图显示图像通过

imageView.setImageURI(uri);

这里,uri为图像乌里容纳在onActivityResult由intent.getData()。

here, uri is Uri of the image received in onActivityResult by intent.getData().

但正在没有图像显示。此外,对于

but no image is being displayed. Also, for

File file=new File( uri.getPath() );

file.exists()的返回false。

file.exists() is returning false.

推荐答案

现在的问题是,你得到的URI但从URI你必须创建位图在ImageView的显示。有各种机制,以这些人做同样的是这个code。

The problem is that you getting the Uri but from that uri you have to create Bitmap to show in your Imageview. There are various mechanism to do the same one among them is this code.

Intent intent = new Intent();  
intent.setType("image/*");  
intent.setAction(Intent.ACTION_GET_CONTENT);  
startActivityForResult(Intent.createChooser(intent, "Choose Picture"), 1);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    if(resultCode==RESULT_CANCELED)
    {
        // action cancelled
    }
    if(resultCode==RESULT_OK)
    {
        Uri selectedimg = data.getData();
        imageView.setImageBitmap(MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedimg));
    }
}