Cómo guardar las fotos tomadas en una carpeta específica?
Posible duplicado:
¿Cómo obtener el resultado de la cámara como un uri en la carpeta de datos?
Estoy tomando un Picure, y lo guardo en la carpeta predeterminada.
- Intención de la cámara no volver a llamar a la actividad
- Detectar si el contacto tiene foto
- Longitud y latitud del GPS de la foto geotiquetada
- Problemas para tomar fotos con Android (Cámara vertical | Retrato)
- Aumentar la calidad / claridad / brillo de las fotos tomadas con la cámara android
Aquí está mi función PictureCallBack()
:
PictureCallback myPictureCallback_JPG = new PictureCallback(){ public void onPictureTaken(byte[] arg0, Camera arg1) { Uri uriTarget = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues()); OutputStream imageFileOS; try { imageFileOS = getContentResolver().openOutputStream(uriTarget); imageFileOS.write(arg0); imageFileOS.flush(); imageFileOS.close(); Toast.makeText(MainActivity.this,"Image saved: " + uriTarget.toString(),Toast.LENGTH_LONG).show(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } camera.startPreview(); } };
¿Cómo puedo guardarlo en una carpeta específica como "/sdcard/MyCustonApp/Photos/"
?
- ¿Cómo tomar una foto y enviar a HTTP POST solicitud con Android?
- Recortar la imagen ala Google Goggles
- Datos Exif TAG_ORIENTATION siempre 0
- Asegúrese de que las fotos se guardan con la misma orientación que se tomaron?
- Android - Get Contact Foto del número de teléfono
- ¿Cómo enviar una foto a Instagram usando mi aplicación de Android?
- ¿La mejor manera de ocultar una imagen en android?
- Android, subir una foto para alojar en imgur programatically
Añadir a su código
String path = Environment.getExternalStorageDirectory().toString(); File myNewFolder = new File(path + "/your/folder"); myNewFolder.mkdir(); File file = new File(path + "/your/folder", name + ".png"); OutputStream imageFileOS = new FileOutputStream(file);
Así es como compruebo si la carpeta en la que quiero guardar la imagen capturada, existe o creo la carpeta si no.
Intent getCameraImage = new Intent("android.media.action.IMAGE_CAPTURE"); File cameraFolder; if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) cameraFolder = new File(android.os.Environment.getExternalStorageDirectory(),"MyCustomApp/Photos"); else cameraFolder = StatusUpdate.this.getCacheDir(); if(!cameraFolder.exists()) cameraFolder.mkdirs(); File photo = new File(Environment.getExternalStorageDirectory(), "MyCustomApp/Photos/camera_snap.jpg"); getCameraImage.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo)); Uri uri = Uri.fromFile(photo); startActivityForResult(getCameraImage, 1);
Esta pieza de código guardará la imagen capturada en la carpeta especificada con el nombre camera_snap y extensión: .jpg
NOTA: Esto requiere que declare el permiso siguiente en su archivo de Manifest
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages"); imagesFolder.mkdirs(); File image = new File(imagesFolder, "image.jpg"); Uri uriSavedImage = Uri.fromFile(image); imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
Echa un vistazo a este enlace. Cómo guardar imágenes de la cámara en Android a la carpeta específica? .
prueba este sencillo código y almacena imágenes en una carpeta:
String root = Environment.getExternalStorageDirectory().toString(); File myDir = new File(root + "/req_images"); myDir.mkdirs(); Random generator = new Random(); int n = 10000; n = generator.nextInt(n); String fname = "Image-" + n + ".jpg"; file = new File(myDir, fname); Log.i(TAG, "" + file); if (file.exists()) file.delete(); try { FileOutputStream out = new FileOutputStream(file); bm.compress(Bitmap.CompressFormat.JPEG, 90, out); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); }
donde bm significa nombre de imagen de mapa de bits
- Cómo determinar qué está ralentizando la aplicación para Android
- Cuadros de bits en escala de grises en android