¿Cómo puedo acceder a la cámara en teléfonos Android?
He escrito un programa en Java que toma en un archivo de imagen y manipula la imagen. Ahora estoy tratando de acceder a la cámara para que pueda tomar la foto y darla al programa de procesamiento de imágenes sin embargo estoy perdido en cuanto a cómo hacer esto. He leído la información sobre la clase de cámara y cómo pedir permisos, pero no sé cómo tomar la foto. Si alguien tiene algún consejo sobre dónde debo comenzar o si saben de un buen tutorial realmente lo apreciaría. ¡Gracias!
- Android - Facebook SDK login -> cerrar sesión -> inicio de sesión no funciona
- DoInBackground () error en facebook api en android studio
- ¿Es posible leer datos de Firebase sin adjuntar ningún oyente?
- Volley JSONException: Fin de la entrada en el carácter 0 de
- Obtener el amanecer y la puesta del sol
- No se puede configurar la memoria de invitados 'android_arm': argumento no válido
- ¿Cómo puedo conseguir el selector de marcación rápida android fab?
- set androide del mapbox de la imagen de la demostración
- Cómo hacer una barra de progreso mostrar en la parte superior de un botón en android
- Agregar varios valores en ArrayList en un índice único
- ¿Qué hace a Guice incapaz de funcionar en Android excepto como Guice-no-aop?
- Cómo aplicar el tamaño de fuente al renderizar código HTML en Android o Java
- Creación de Geofence en diferentes usuarios
Google es tu mejor amigo, aquí hay algunos tutoriales:
Uso de la cámara
How-To Program La cámara de Google Android para tomar fotos
Toma la imagen del emulador de la cámara
cámara
Primero edita tu AndroidManifest.xml, agrega el permiso de la cámara:
<uses-permission android:name=”android.permission.CAMERA”/>
El servicio de cámara debe abrirse y cerrarse:
Camera camera = Camera.open(); //Do things with the camera camera.release();
Puede configurar la cámara, por ejemplo:
Camera.Parameters parameters = camera.getParameters(); parameters.setPictureFormat(PixelFormat.JPEG); camera.setParameters(parameters);
Tomar una foto:
private void takePicture() { camera.takePicture(shutterCallback, rawCallback, jpegCallback); } ShutterCallback shutterCallback = new ShutterCallback() { public void onShutter() { // TODO Do something when the shutter closes. } }; PictureCallback rawCallback = new PictureCallback() { public void onPictureTaken(byte[] _data, Camera _camera) { // TODO Do something with the image RAW data. } }; PictureCallback jpegCallback = new PictureCallback() { public void onPictureTaken(byte[] _data, Camera _camera) { // TODO Do something with the image JPEG data. } };
No se olvide de agregar el diseño de la cámara a su xml principal de la disposición.
Hay muchas maneras por las que u puede hacer esto …. Uno de la mejor manera que creo que es el corto y simple es en el botón Haga clic en u puede llamar intención que abre la vista de cámara inbuilt ur … aquí está el código de ejemplo …
public class CameraDemo extends Activity { Button ButtonClick; int CAMERA_PIC_REQUEST = 2; int TAKE_PICTURE=0; Camera camera; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ButtonClick =(Button) findViewById(R.id.Camera); ButtonClick.setOnClickListener(new OnClickListener (){ @Override public void onClick(View view) { Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if( requestCode == CAMERA_PIC_REQUEST) { Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ImageView image =(ImageView) findViewById(R.id.PhotoCaptured); image.setImageBitmap(thumbnail); } else { Toast.makeText(demo.this, "Picture NOt taken", Toast.LENGTH_LONG); } } }
Unesdoc.unesco.org unesdoc.unesco.org …………
Ir a través de él y, si u tiene cualquier problema no dude en preguntar ….
Rastrillo
Hay dos métodos para tomar fotos para tu aplicación Android
1) Uso de intención
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name // start the image capture Intent startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
2) Creación de una actividad de cámara personalizada. Para eso necesitas seguir los pasos
* Detect and Access Camera * Create a Preview Class * Build a Preview Layout * Capture and Save Files * Release the Camera
También puede consultar los siguientes enlaces:
http://developer.android.com/guide/topics/media/camera.html http://developer.android.com/reference/android/hardware/Camera.html
El método más importante es:
Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() { public void onPictureTaken(byte[] imageData, Camera c) { } };
Este método se llama cuando se toma una imagen. Aquí hay un buen tutorial sobre este tema: http://www.brighthub.com/mobile/google-android/articles/43414.aspx
Hmm … o tal vez usted necesita este:
Camera mCamera; ... public void onClick(View arg0) { mCamera.takePicture(null, mPictureCallback, mPictureCallback); }
Aquí hay un ejemplo más: http://snippets.dzone.com/posts/show/8683
- Cambiar la velocidad de transición de ViewPager y setCurrentItem
- Compilación y ejecución de ApiDemos