Sto provando a spedire un aggiornamento fondamentale alla mia app attualmente sul mercato. Devo interrogare le miniature nel MediaStore e caricare le anteprime in GridView. Fin qui tutto bene, ora ho solo bisogno di ottenere il percorso dell'immagine reale fullsized sull'archivio esterno dell'utente basato solo su ciò che ho (che è il percorso della miniatura). Devo essere in grado di eseguire 4 azioni ogni volta che un utente fa clic su una miniatura, Condividi, Visualizza, Sposta ed Elimina ... ma non posso fare nessuna di queste con solo il percorso della miniatura, ho provato tutto, non lavoro :/. Ecco uno snippet della mia implementazione qui sotto, qualsiasi aiuto o guida su questo sarebbe molto apprezzato!Android ottiene il percorso dell'immagine dall'anteprima?
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();
Finora ho provato di tutto utilizzando il membro imagePath, ma che o fa sì che le eccezioni a essere gettati o di altri errori. Eventuali suggerimenti?
che cosa hai nel imageadapter per il gridview ??? – jxgn
Grazie mille per questo codice, ma non sta dando il percorso esatto dell'immagine selezionata. Quando seleziono la prima immagine, è il percorso della 2 ° immagine. – Prabs
[questo ha aiutato] (http://stackoverflow.com/a/6548026/4361127) – Prabs