Android получает путь к изображению из эскиза?

Я пытаюсь отправить основное обновление для моего приложения, которое сейчас находится на рынке. Мне нужно запросить эскизы в MediaStore и загрузить эскизы в GridView. Пока все хорошо, теперь мне просто нужно получить путь к фактическому полноразмерному изображению во внешнем хранилище пользователя на основе только того, что у меня есть (это путь к миниатюре).Мне нужно иметь возможность выполнять 4 действия всякий раз, когда пользователь щелкает миниатюру, Поделиться, Просмотр, Перемещение и Удалить ... но я не могу сделать ничего из этого, используя только путь миниатюры, я все перепробовал, не Работа :/. Вот фрагмент моей реализации ниже, мы будем благодарны за любую помощь или руководство по этому поводу!

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

    int columnIndex = 0;
    String[] projection = {MediaStore.Images.Media.DATA};
    Cursor cursor = managedQuery(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, projection, null, null, null);

    if(cursor != null){
        columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

        cursor.moveToPosition(position);
        imagePath = cursor.getString(columnIndex);

        FileInputStream is = null;
        BufferedInputStream bis = null;

        try{
            is = new FileInputStream(new File(imagePath));
            bis = new BufferedInputStream(is);
            Bitmap bitmap = BitmapFactory.decodeStream(bis);
            useThisBitmap = Bitmap.createScaledBitmap(bitmap, parent.getWidth(), parent.getHeight(), true);

            bitmap.recycle();
        }catch(Exception e){
            //Try to recover
        }
        finally{
            try{
                if(bis != null){
                    bis.close();
                }
                if(is != null){
                    is.close();
                }
                cursor.close();
                projection = null;
            }catch(Exception e){

            }
        }
    }
    Toast.makeText(this, "  " + imagePath, Toast.LENGTH_SHORT).show();

Пока что я пробовал все, используя член imagePath, но это либо вызывает исключения, либо другие ошибки. Есть предложения?

5
задан Jade Byfield 14 February 2012 в 15:27
поделиться