Подтвердить что ты не робот

Получите изображение Uri in onActivityResult после съемки?

У меня есть этот код:

startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), CAMERA_IMAGE);

Это позволяет пользователю делать снимок. Теперь, как я могу получить Uri этой фотографии в onActivityResult? Является ли это Intent дополнительным? Это через Intent.getData()?

4b9b3361

Ответ 1

protected void onActivityResult(int requestCode, int resultCode, Intent intent){
    Uri u = intent.getData();
}

Кстати, в некоторых устройствах есть ошибка с этим намерением. Посмотрите этот ответ, чтобы узнать, как обходиться с ним.

Ответ 2

Вместо того, чтобы просто запускать намерение, также убедитесь, что вы указали намерение, где хотите фотографию.

Uri uri = Uri.parse("file://somewhere_that_you_choose");
Intent photoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
photoIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(photoIntent, CAMERA_IMAGE);

Затем, когда вы вызываете свой метод onActivityResult(), если это был успех, просто откройте поток для URI и все должно быть установлено.

Ответ 3

Uri uri = null;
if(requestCode == GALLERY_INTENT && resultCode == RESULT_OK){
  uri = data.getData();
}