Обычно я могу просто вызвать getData () в намерении, которое я получаю в onActivityResult, и получить uris для содержимого для MediaProvider.
blockquote>Ваш код не удастся на многих из них, включая все последние устройства Nexus.
ACTION_IMAGE_CAPTURE
не должен возвращатьUri
. Цитирование документации :Если EXTRA_OUTPUT не присутствует, изображение небольшого размера возвращается в качестве объекта Bitmap в дополнительном поле. Это полезно для приложений, которым требуется только небольшое изображение. Если EXTRA_OUTPUT присутствует, то полноразмерное изображение будет записано в значение Uri EXTRA_OUTPUT.
blockquote>Поскольку вы не включаете
EXTRA_OUTPUT
, вы получитеdata
дополнительно (getData().getExtra("data")
) с миниатюрным изображением.У меня есть onActivityResult, у меня нет данных, но вместо этого у него есть parcellable extra
blockquote>ваш
ACTION_IMAGE_CAPTURE
запрос, это то, что вы должны получить.Если вы хотите полноразмерное изображение, включите
EXTRA_OUTPUT
, возможно, указывая наFileProvider
в вашем приложении, например I продемонстрировать в это примерное приложение . Затем вы знаетеUri
, где должна быть фотография, потому что вы указали, чтоUri
.