Estoy utilizando la intención predeterminada de la cámara para obtener la imagen en mi aplicación. El problema es que la cámara devuelve nulo en onActivityResult()
. El ResultCode
y RequestCode
están regresando como se esperaba.La intención de Android Inbuild (ActionImageCapture) devuelve un intento nulo. No se puede entregar el resultado {who = null}
Mi llamado intención es:
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);
onActivityResult es:
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
}
Como ya he puesto de registro que tiene la resultCode y ResponseCode no son nulos
resultCode = -1
requestCode = 1224
Dónde estoy haciendo ¿Error?
Pero la fotografía tomada se almacena en la ruta (imageUri) como he especificado
¿Hay alguna otra manera de obtener una imagen usando la cámara.
Gracias Shadowtech esto es lo que hice ... Está funcionando. :) ¿Sabes por qué la intención es nula? –
Si elimina intent.putExtra (MediaStore.EXTRA_OUTPUT, imageUri); entonces obtendrás la imagen con intención; de lo contrario, la intención será nula y la imagen se almacenará en el URI ... –