La mia app è in grado di selezionare foto dalla libreria. Voglio esattamente il percorso del file da questa selezione.La scelta della foto utilizzando la nuova app Google Foto è interrotta
Questo è il codice per creare l'intento per la foto scelta:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, INTENT_REQUEST_CODE_SELECT_PHOTO);
Questo è il codice che ottiene il percorso del file da URI:
Cursor cursor = null;
String path = null;
try {
String[] projection = { MediaStore.Images.Media.DATA };
cursor = context.getContentResolver().query(contentUri, projection, null, null, null);
int columnIndex = cursor.getColumnIndexOrThrow(projection[0]);
cursor.moveToFirst();
path = cursor.getString(columnIndex);
} finally {
if (cursor != null) {
cursor.close();
}
}
return path;
Prima di aggiornamento di ieri di app Google Foto tutto ha funzionato alla perfezione bene. Ora path
è nullo dopo aver analizzato l'URI.
URI è simile a questo: content://com.google.android.apps.photos.contentprovider/0/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F75209/ACTUAL
Ho anche cercato di creare intenti con l'azione Intent.ACTION_GET_CONTENT - senza fortuna.
Ho accettato questa risposta, anche se per il nostro flusso questo è un po 'una soluzione. Ma permette di riportare l'app a pieno regime, quindi questo conta. Una nota: non ho fatto una decodifica Bitmap da un InputStream - l'ho copiato in alcuni 'File tempFile = new File (" path_to_my_temp_directory ");' e poi usato l'ultimo per tutte le cose. –
@Akhil Grazie per questo! – Petro
'is = context.getContentResolver(). OpenInputStream (uri);' sta restituendo null. Non riesco a trovare alcuna soluzione per il prelievo di immagini dall'app di Google Foto. Se qualcuno ha una soluzione funzionante, per favore condividi. – ArJ