Я использую камеру по умолчанию, чтобы получить изображение в моем приложении. Проблема в том, что камера возвращает ноль на onActivityResult()
. ResultCode
и RequestCode
возвращаются, как и ожидалось.
Мой намеренный вызов:
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 1224;
....
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
Результат активности:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
//use imageUri here to access the image
Uri imageuri = data.getData(); // here is getting crash
imageView.setImageFromUri(imageUri);
}
}
}
void setImageFromUri(Uri imgUri){
... TODO assign image from uri
}
Когда я поставил Log, я получил, что resultCode и responseCode не равны нулю
resultCode = -1
requestCode = 1224
Где я делаю ошибку?
Но снятый снимок сохраняется в пути (imageUri), как я указал
Есть ли другой способ получить изображение с помощью камеры.