¿Cómo utilizar la cámara predeterminada para tomar una foto en android?cámara predeterminada para tomar una foto en android
Respuesta
Uri imageUri;
final int TAKE_PICTURE = 115;
public void capturePhoto(View view) {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
File photoFile = new File(Environment.getExternalStorageDirectory(), "Photo.png");
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photoFile));
imageUri = Uri.fromFile(photoFile);
startActivityForResult(intent, TAKE_PICTURE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case TAKE_PICTURE:
if (resultCode == Activity.RESULT_OK) {
Uri selectedImageUri = imageUri;
//Do what ever you want
}
}
}
gracias ketan su atento a mí –
Muchas gracias, no tengo He estado buscando por una hora intentando que el objeto de la cámara y el método de vista previa funcionen, cuando esto es todo lo que quería desde el principio. –
Hola Abhan, tu código mostrará todas las aplicaciones de cámara de terceros así como la aplicación de cámara predeterminada. ¿Qué sucede si alguien quiere mostrar solo la cámara predeterminada sin mostrar ningún selector de aplicaciones de cámara de terceros como ** Line Camera ** y ** Paper Camera **? –
La intención que se utiliza para abrir la cámara es
buttonCapturePhoto.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAPTURE_IMAGE);
}
});
El código que le da la imagen después de la captura es
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Uri uriImage;
InputStream inputStream = null;
if ((requestCode == SELECT_IMAGE || requestCode == CAPTURE_IMAGE) && resultCode == Activity.RESULT_OK) {
uriImage = data.getData();
try {
inputStream = getContentResolver().openInputStream(uriImage);
Bitmap bitmap = BitmapFactory.decodeStream(inputStream, null, options);
imageView.setImageBitmap(bitmap);
} catch (NullPointerException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setAdjustViewBounds(true);
}
}
Este es un ejemplo simple. De todos modos, devolverá la imagen como un pequeño mapa de bits. Si desea recuperar la imagen de tamaño completo, es un poco más complicado.
ImageView takePhotoView = (ImageView) findViewById(R.id.iwTakePicture);
Bitmap imageBitmap = null;
takePhotoView.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
dispatchTakePictureIntent(0);
}
});
private void dispatchTakePictureIntent(int actionCode) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePictureIntent, actionCode);
}
private void handleSmallCameraPhoto(Intent intent) {
Bundle extras = intent.getExtras();
this.imageBitmap = (Bitmap) extras.get("data");
takePhotoView.setImageBitmap(imageBitmap);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK)
handleSmallCameraPhoto(data);
}
- 1. La cámara Android se congela después de tomar una foto
- 2. Tomar foto sin vista previa Android
- 3. Editar imagen después de tomar una foto
- 4. Obtengo una NullPointerException cuando uso ACTION_IMAGE_CAPTURE para tomar una foto
- 5. UIImagePickerController: ignorando la solicitud para tomar una foto; la cámara aún no está lista
- 6. Android - ¿Cómo puedo despertar el teléfono de un sueño difícil para tomar una foto?
- 7. ¿Cómo puedo tomar una foto con mi aplicación de iPhone?
- 8. Reinicio de la actividad de Android después de tomar una foto (¿orientación?)
- 9. UIImagePickerController: cómo tomar> 1 foto?
- 10. Tomar una foto automáticamente sin interacción del usuario
- 11. Tomando una foto y geoetiquetándola
- 12. Subir una foto desde la cámara al servidor PHP
- 13. iPhone: tome la foto con la cámara frontal programáticamente
- 14. Android - Encuentra la orientación de la foto tomada por la cámara
- 15. Cómo usar la cámara para tomar fotos en segundo plano ¿Servicio en Android?
- 16. "tomar una foto y presentarla" en modo retrato en Samsung Galaxy S
- 17. Android calidad de la cámara personalizada
- 18. Detección de color con la cámara Android
- 19. cámara de Android estirada en modo horizontal
- 20. ¿Cómo accedo a la cámara en teléfonos con Android?
- 21. Android: Llamar a la actividad de cultivo después de tomar la foto
- 22. Intento de la cámara que no guarda la foto
- 23. Cómo tomar una foto y enviarla como un archivo adjunto de correo electrónico en iOS
- 24. cámara no funciona en Android 2.2
- 25. Android Camera Preview - Cómo congelar la cámara?
- 26. ¿Por qué es tan difícil tomar fotos normalmente en diferentes teléfonos con Android?
- 27. Cámara en Android
- 28. Android, cargando una foto al host en imgur programatically
- 29. La orientación de foto capturada está cambiando en android
- 30. posible tomar la imagen sin necesidad de iniciar la cámara frontal en el SDK iPhone
posible duplicado de [la intención de cámara de Android.] (Http://stackoverflow.com/questions/2729267/android-camera-intent) – Aleadam