Я пытаюсь сделать снимок с помощью камеры "Nexus 5X API 26" и показать его в поле ImageView
перед загрузкой в Firebase.
Первая проблема заключается в том, что после съемки она не отображается в imageView
. Я делаю следующее:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, CAMERA_REQUEST_CODE);}
А потом я пытался показать картинку точно так же, как я делаю для фотографий, взятых из галереи:
filePath = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
Часть, которую я не понимаю, как data.getData()
работает в обоих случаях (для галереи и для камеры)?
Я полагаю, что метод uploadImage()
должен быть одинаковым для загрузок как с Галереи, так и с камеры (он уже работает для Галереи ...).
То, что я сейчас упускаю, так это то, что я не получаю filePath
, наверное?
Нужно ли "временно сохранять" изображение с камеры, чтобы .getData()
? Или это может работать без какого-либо "спасения"?
Я просто хочу, чтобы пользователь сделал снимок, и он должен быть отправлен в Firebase. Пользователю необязательно сначала просматривать его в imageView
, просто чтобы получить uri (данные) для его загрузки.
просмотр при открытии камеры
вид после съемки