Estoy usando la cámara del teléfono en una aplicación de Android para tomar una foto. Estoy usando Intentos de usar la aplicación de la cámara incorporada y estoy usando el siguiente código:Usar la cámara del teléfono a través de la intención: ¿la actividad nunca vuelve?
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(FILEPATH)));
startActivityForResult(intent, ACTIVITY_NATIVE_CAMERA_AQUIRE);
Trabaja muy bien y la cámara se conecta. Puedo tomar una foto y el teléfono me presenta tres opciones: Cancelar, Volver a tomar, OK. Los primeros dos trabajos, al presionar cancelar, el usuario regresa a la aplicación, pero al presionar OK y no ocurre nada. Aparentemente onActivityResult no se está llamando, y la cámara simplemente permanece en la pantalla. Nada en el depurador tampoco.
Ejecutar la aplicación en un Nexus One con Android 2.2.1. Mismo problema en el emulador con Android 2.0.
Editar: Probado en un HTC Desire con Android 2.2 con interfaz de usuario Sense de HTC: funciona perfectamente. Nada en el emalator ni Google N1.
Edit2: parece que la imagen actividad aquiring HTC Desire funciona mejor en el sentido de que regresara, pero no tiene en cuenta la EXTRA_OUTPUT -setting y devuelve sólo una pequeña imagen en el onActivityResult -call. Verificando en la consola ddms mientras el teléfono está conectado a la computadora, veo que el teléfono está almacenando la imagen en la tarjeta SD, pero la ruta no se transfiere a mi aplicación. Está empezando a parecer que no hay una manera confiable de usar la intención de la cámara, y recuperar una imagen de un tamaño razonable. Malo malo malo.
¿Así que no hay forma de evitar la tarjeta SD? Si no está disponible, ¿no puedes obtener una imagen a tamaño completo? Estoy enfrentando un problema similar. Aquí está mi publicación http://stackoverflow.com/questions/4632231/is-herehere-any-way-to-store-full-size-image-returned-from-camera-activity-in-intern – Pritam