在android中读取用户照片

时间:2012-11-19 03:35:05

标签: java android eclipse mediastore

尝试阅读用户拍摄的照片列表并在imageview中显示。为了简单起见,试着暂时只显示一个。到目前为止有这段代码:

Cursor cc = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);

它在光标中获取了一些数据,cc.getCount()似乎是有意义的(当我拍照时,它会增加一个,等等)。但是,我根本无法在imageView中显示内容,也没有显示任何内容。

我试过这个(s_id是上面光标的pic的id,第一个返回列):

Uri u;
u = Uri.withAppendedPath(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, "" + s_id);
im.setImageURI(u);

还试过这个:

Bitmap b = BitmapFactory.decodeFile(u.getPath());
im.setImageBitmap(b);

没有用。帮助

PS。没有任何错误出现在任何地方。

1 个答案:

答案 0 :(得分:1)

这是另一种让用户选择图像并在图像视图中显示图像的方法。

此代码允许用户查看文件以从库中选择图像:

Intent picture = new Intent(Intent.ACTION_GET_CONTENT);
picture.setType("image/*");
startActivityForResult(picture, YOUR_CODE);

然后在onActivityResult方法中,您可以使用数据来设置imageview:

public void onActivityResult(int requestCode, int resultCode, Intent data){
    //This is where you can use the data from the previous intent to set the image view
    Uri uri = data.getData();
    im.setImageURI(uri); //where im is your imageview
}

查看此link for a more detailed answer.