Vamos a crear un proyecto o aplicacion en android studio que abrira la camara de android para que tomemos una foto y la foto se muestre en un ImageView desde la aplicacion de Android.
De el lado del diseño de la aplicacion solo vamos a usar un boton y un elemento imageview.

La funcion del boton es abrir la camara y despues de tomarnos la foto, dicha foto se mostrara en el imageview.
Ahora veamos el codigo.
Codigo
Primero definimos las dos variables el boton y el imageview.
Button b1;
ImageView iv1;Despues le asignamos al Button, el elemento button que esta en el dise~o y al imageview igualmente le asignamos el elemento que esta en el dise~o.
Tambien le asignanos al Button la funcion de abrir la camara al darle click.
b1 = (Button)findViewById(R.id.button);
iv1 = (ImageView)findViewById(R.id.imageView);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent camerai = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camerai, 123);
}
});Y en el metodo onActivityResult que es el metodo que se ejecuta despues que se toma la foto para regresar a nuestra aplicacion.
if (requestCode == 123) {
// Se guarda la foto en una variable tipo bitmap
Bitmap photo = (Bitmap) data.getExtras().get("data");
// Se muestra la imagen en el imageview
iv1.setImageBitmap(photo);
}Y listo a continuacion les dejo el codigo completo y tambien la opcion para descargar el proyecto y el APK.
Button b1;
ImageView iv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button)findViewById(R.id.button);
iv1 = (ImageView)findViewById(R.id.imageView);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent camerai = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camerai, 123);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Se busca que el codigo conincida
if (requestCode == 123) {
// Se guarda la foto en una variable tipo bitmap
Bitmap photo = (Bitmap) data.getExtras().get("data");
// Se muestra la imagen en el imageview
iv1.setImageBitmap(photo);
}
}El permiso en el Manifiesto
Aunque el Intent de la cámara a veces funciona sin permisos explícitos en versiones antiguas, para asegurar la compatibilidad (especialmente si planeas subir el APK), es vital agregar esto al AndroidManifest.xml:
<uses-feature android:name="android.hardware.camera" android:required="true" />
Validación de la Cámara
A veces, si un dispositivo no tiene una aplicación de cámara instalada (o está desactivada), la app podría cerrarse inesperadamente al presionar el botón. Una buena práctica es verificar si hay alguna app que pueda responder al Intent:
if (camerai.resolveActivity(getPackageManager()) != null) {
startActivityForResult(camerai, 123);
}Descargar
Link: https://drive.google.com/file/d/1z3kYwlTOep4Iq_ZXrDRChR8XdbLHnEly/view
El archivo APK se encuentra en la ubicacion: OpenCamera/app/build/outputs/apk/debug/app-debug.apk
📦 Sugerencia: Si te interesa el desarrollo de sistemas de inventario, te recomendamos echar un vistazo a Inventio Max, nuestra solución más completa para empresas.