android - 如何从android中的画廊获取地址

标签 android inputstream image-gallery

我编写这段代码,我的代码从图库中选择一张图片并从中获取数据,但我不知道如何从 Inputstrem 或数据中获取图像地址并存储它?

public void loadPic()
{
    Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
    photoPickerIntent.setType("image/*");
    startActivityForResult(photoPickerIntent, 1);
}

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode==1)
    {
        try {
            Uri selectedImage=data.getData();
            InputStream inputStream = getContentResolver().openInputStream(selectedImage);
            listItems.add(inputStream.toString());
        } catch (FileNotFoundException e) {

            e.printStackTrace();
        }
    }
}

最佳答案

读取如下文件名,相应地使用它。

            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };
            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();
            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            File f = new File(picturePath);
            String imageName = f.getName();

关于android - 如何从android中的画廊获取地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38378061/

相关文章:

java - 关于在读取调用中使用偏移量的说明

Android Activity,如何覆盖 list 的android :configChanges with Java code?

android - bindService() 后 AIDL 服务未连接

c# - Android 如何以编程方式使线性布局可滚动?

android - 在 Android 运行时更改和应用主题

java - 我想将我从 imageView 裁剪的照片存储到我的私有(private)文件夹中

c++ - 如何将 'fixed' floatfield 用于 istream/istringstream?

java - GZipInputStream .read() 将零插入缓冲区

jQuery 无限缩略图库

css - masonry 网格图像顺序淡入