¿Existe una forma estándar de llamar al cuadro de diálogo para elegir entre elegir una imagen de la cámara o obtenerla de la galería (como en la guía telefónica incorporada o Skype)?
He echado un vistazo a esto, pero el código abre la galería sin sugerir que lo seleccione de la cámara.
Dispositivo: Samsung Galaxy Tab
Android: 2.3.3
Respuestas:
El siguiente código se puede utilizar para tomar una foto y para elegir una foto. Simplemente muestre un cuadro de diálogo con dos opciones y, al seleccionarlo, use el código apropiado.
Para tomar una foto de la cámara:
Para elegir una foto de la galería:
onActivityResult
código:Finalmente agregue este permiso en el archivo de manifiesto:
fuente
Intent
como un respaldo arroja SecurityException. Más información: plus.google.com/+AndroidDevelopers/posts/e9kyM7VXajzHe combinado algunas soluciones para hacer una utilidad completa para elegir una imagen de la Galería o la Cámara. Estas son las características de ImagePicker util gist (también en una lib Github ):
Captura de pantalla:
Editar : Aquí hay un fragmento de código para obtener un Intent combinado para las aplicaciones Galería y Cámara. Puede ver el código completo en ImagePicker util gist (también en una lib Github ):
fuente
boolean isCamera = (imageReturnedIntent == null || imageReturnedIntent.getData() == null);
getTempFile
y cómo utilizar esta función? actualice la respuestaFileProvider
para API> = 23 yUri
por menos.Esta biblioteca lo hace simple.
Solo llama:
Luego, haga que su actividad implemente IPickResult y anule este método a continuación.
fuente
Puede implementar este código para seleccionar la imagen de la galería o cámara: -
Ahora, en el evento de clic de botón, puede llamar a su método de imagen seleccionada. Esta es la actividad interna de onCreate.
Fuera de la creación de su actividad.
Atlast, finalmente agregue la cámara y escriba el permiso de almacenamiento externo en AndroidManifest.xml
Me funciona enormemente, espero que también funcione para ti.
fuente
Creo que depende de usted mostrar ese diálogo para elegir. Para la Galería, usará ese código, y para la Cámara, pruebe esto .
fuente
Si desea obtener la imagen de la galería o capturar la imagen y configurarla en la vista de imagen en modo vertical, el siguiente código lo ayudará ...
En onCreate ()
Espero que esto te ayudará....!!!
Si targetSdkVersion es superior a 24, se utiliza FileProvider para conceder acceso.
Cree un archivo xml (ruta: res \ xml) provider_paths.xml
Agregar un proveedor en AndroidManifest.xml
y reemplazar
A
fuente