Я хочу разрешить пользователям загружать изображения в мое приложение из своей галереи, а затем я сохраню их URI в своей БД, чтобы отслеживать загрузку.Прямо сейчас я получаю Uri из загруженных изображений, как указано в этом SO Ответе:
Получить путь к файлу изображения на Android
Проблема с этим ответом - этотребуется, чтобы изображение было сохранено во второй раз.
String path = MediaStore.Images.Media.insertImage(context, img, "title, null);
Я не хочу создавать дубликаты изображений в галерее пользователей, но мне нужно получить Uri из загруженного ими изображения,Любые предложения?
Код, который я сейчас использую, чтобы получить изображение Uri:
Uri selectedImage = data.getData();
Log.d(TAG, "Imediate Uri: " + selectedImage);
Bitmap bitmap = null;
try {
bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
} catch(FileNotFoundException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
Uri tempUri = getImageUri(getApplicationContext(), bitmap);
public Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}