Я до сих пор не могу понять, что вызвало сбой моего приложения. Я уже включил разрешения и пользовательские функции, но все равно не буду работать. Как это решить?
P.S. Я новичок в Android.
Я считаю, что причина проблемы в том, что ваш takePictureIntent() дважды звонит startActivityForResult().
takePictureIntent()
startActivityForResult()
Также обратите внимание, что EXTRA_FINISH_ON_COMPLETION не относится к ACTION_IMAGE_CAPTURE. ПОЖАЛУЙСТА, следуйте более официальному руководству по Android .
EXTRA_FINISH_ON_COMPLETION
ACTION_IMAGE_CAPTURE
Из того, что я вижу, вы не получили разрешение от пользователя. (Добавление разрешения камеры в манифесте недостаточно)
В onActivityResult вы должны получить изображение из переменной data. например, Bitmap photo = (Bitmap) data.getExtras().get("data");
onActivityResult
data
Bitmap photo = (Bitmap) data.getExtras().get("data");
Я рекомендую вам взглянуть на этот ответ @jengelsma, как Capture Image from Camera. https://stackoverflow.com/a/5991757/2945356
Capture Image from Camera
PS. Если вы измените фильтр logcat на ERROR. Он покажет вам, в чем именно проблема
ERROR