Я пытаюсь отправить основное обновление для моего приложения, которое сейчас находится на рынке. Мне нужно запросить эскизы в 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, но это либо вызывает исключения, либо другие ошибки. Есть предложения?