如何获取从第三方应用程序下载并存储在SD卡中的图像路径

时间:2012-12-05 07:19:06

标签: android

我正在尝试打开图库并从那里选择图像。我得到了从相机捕获的所有图像的路径,但无法获得从Facebook / picassa等下载的图像的真实路径。即使它在画廊中,它也会像https://lh3.googleusercontent.com/XNzSBp0MycQ/TigFxMIWn2I/AAAAAAAAAAg/YJPWAWmGOy0/I/11%252520-%2525201.jpg一样给予。

这是我的代码::

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

我使用以下代码来获取路径

                  Uri selectedImageUri = data.getData();
        String selectedImagePath = getPath(selectedImageUri);  

           public String getPath(Uri uri) {

    int columnIndex = 0;
    String[] projection = { MediaColumns.DATA };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    if (cursor != null) {
        columnIndex = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
        cursor.moveToFirst();
        String imagePath = cursor.getString(columnIndex);
        return imagePath;
    } else {
        return null;
    }

1 个答案:

答案 0 :(得分:0)

String filename = "image.jpg";
String path = "/mnt/sdcard/" + filename;
 File f = new File(path);  //  
            Uri imageUri = Uri.fromFile(f);