Android: captura la foto
En mi aplicación, tengo que implementar la actividad de cámara nativa donde tengo que iniciar la cámara y tomar fotos.
En detalle, mi aplicación que contiene, One TextView (en la parte superior) para mostrar el nombre de la actividad y un botón (En la parte inferior) y en el centro de la pantalla, la vista previa de la cámara debe ser visto .. Cuando el usuario haga clic en ese botón, Y mostrarlo en Imageview de otra actividad.
- Guardar las imágenes pulsadas en la carpeta personalizada (Preferentemente interna a la aplicación) en lugar de la galería
- Evitar que la actividad sea destruida
- Captura de imagen mientras el dispositivo está bloqueado con contraseña
- Orientación vertical de la cámara
- Guardar la imagen capturada en la carpeta específica de la tarjeta sd
Sé que se utiliza el siguiente enfoque:
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE ); intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri ); startActivityForResult( intent, 0 );
Pero este enfoque si he utilizado entonces mi vista de texto y botón no se muestra.
(Nota de Pls que: Estoy usando Android SDK 1.5 con HTC Hero)
Los pls me ayudan por la sugerencia de cualquier artículo, sitio, o pdf.
Thanx traducción
- API de cámara no funciona en KITKAT
- Deje de guardar la imagen cuando abra la cámara usando Intentar desde mi aplicación
- Cómo comprimir el tamaño de la imagen?
- Cómo obtener la ruta de la imagen en onActivityresult (Intent data is null)
- ¿Cuál es la diferencia entre ActivityCompat y ContextCompat?
- ¿Cómo elegir "cámara frontal" en la nueva intención?
- Receptor de radiodifusión no recibirá evento de cámara
- Android camera: Fallo en la entrega del resultado ResultInfo {who = null, request = 0, result = -1, data = null} a la actividad
Si está intentando utilizar la cámara nativa, una vez que se llame a la cámara nativa, controlará su vista. Sin embargo, si desea implementar su propia cámara, entonces tal disposición sería posible. Algunos buenos ejemplos se pueden encontrar aquí:
-
http://www.brighthub.com/mobile/google-android/articles/43414.aspx
-
http://labs.makemachine.net/2010/03/simple-android-photo-capture/
- http://www.jondev.net/articles/Capturing,_Saving,_and_Displaying_an_Image_in_Android_(1.5,_1.6,_2.0,_2.1,_2.2,_Sense_UI_-_Hero)
¡Buena suerte!
Todas las instrucciones están en el JavaDoc de android.hardware.Camera en http://developer.android.com/reference/android/hardware/Camera.html :
- Obtenga una instancia de Camera desde open ().
- Obtenga la configuración existente (predeterminada) con getParameters ().
- Si es necesario, modifique el objeto Camera.Parameters devuelto y llame a setParameters (Camera.Parameters).
- Si lo desea, llame a setDisplayOrientation (int).
- Importante: Pase un SurfaceHolder completamente inicializado para setPreviewDisplay (SurfaceHolder). Sin una superficie, la cámara no podrá iniciar la vista previa.
- Importante: Llamar startPreview () para iniciar la actualización de la superficie de vista previa. Se debe iniciar la vista previa antes de tomar una foto.
- Cuando quiera, llame a takePicture (Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback) para capturar una foto. Espere a que las devoluciones de llamada proporcionen los datos de imagen reales.
- Después de tomar una foto, se habrá detenido la vista previa. Para tomar más fotos, primero llame a startPreview ().
- Llamar stopPreview () para detener la actualización de la superficie de vista previa.
-
Importante: Llamada de liberación () para liberar la cámara para su uso por otras aplicaciones. Las aplicaciones deben liberar la cámara inmediatamente en onPause () (y re-open () en onResume ()).
SurfaceHolder es ususally implementado usando SurfaceView
- Establecer fuente personalizada en todas las TextViews
- No se ha encontrado actividad para manejar Intent al enviar correo electrónico