Ответ 1
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
Uri u = intent.getData();
}
Кстати, в некоторых устройствах есть ошибка с этим намерением. Посмотрите этот ответ, чтобы узнать, как обходиться с ним.
У меня есть этот код:
startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), CAMERA_IMAGE);
Это позволяет пользователю делать снимок. Теперь, как я могу получить Uri
этой фотографии в onActivityResult
? Является ли это Intent
дополнительным? Это через Intent.getData()
?
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
Uri u = intent.getData();
}
Кстати, в некоторых устройствах есть ошибка с этим намерением. Посмотрите этот ответ, чтобы узнать, как обходиться с ним.
Вместо того, чтобы просто запускать намерение, также убедитесь, что вы указали намерение, где хотите фотографию.
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 и все должно быть установлено.
Uri uri = null;
if(requestCode == GALLERY_INTENT && resultCode == RESULT_OK){
uri = data.getData();
}