Moja aplikacja ma możliwość wyboru zdjęcia z biblioteki. Dokładnie chcę, aby ścieżka pliku z tego wyboru.Wybór zdjęcia przy użyciu nowej aplikacji Zdjęcia Google jest uszkodzony
Jest to kod, aby utworzyć intencję do wybierania zdjęciu:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, INTENT_REQUEST_CODE_SELECT_PHOTO);
Jest to kod, który pobiera ścieżkę dostępu do pliku z 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;
Przed wczorajszą aktualizacją Zdjęcia Google App wszystko działało idealnie w porządku. Teraz path
ma wartość NULL po przeanalizowaniu identyfikatora URI.
URI jest podobny do tego: content://com.google.android.apps.photos.contentprovider/0/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F75209/ACTUAL
Próbowałem też stworzyć intencyjny z działaniem Intent.ACTION_GET_CONTENT - bez powodzenia.
Przyjąłem tę odpowiedź, chociaż dla naszego przepływu jest to trochę obejście problemu. Ale pozwala przywrócić aplikację do stanu pełnego działania, więc to się liczy. Jedna uwaga: Nie zrobiłem dekodowania bitmapowego z InputStream - skopiowałem je do jakiegoś 'File tempFile = new File (" ścieżka_do_menu_templowego ") ;, a następnie użyłem ostatniego dla wszystkich rzeczy. –
@Akhil Dzięki za to! – Petro
'is = context.getContentResolver(). OpenInputStream (uri); zwraca wartość null. Nie mogę znaleźć żadnego rozwiązania do wybierania zdjęć z aplikacji Google do zdjęć. Jeśli ktokolwiek ma działające rozwiązanie, proszę udostępnij. – ArJ