Cómo guardar un mapa de bits en la galería del teléfono?

Tomo una foto y la muestro en una imagen. Entonces consigo el mapa de bits de la vista de la imagen en mi actividad y cuando presiono un botón quiero ahorrar este mapa de bits en la galería del teléfono. ¿Que debería hacer?

Llamar a esta función en el botón onClick

private void saveImage() { File myDir=new File("/sdcard/saved_images"); myDir.mkdirs(); Random generator = new Random(); int n = 10000; n = generator.nextInt(n); String fname = "Image-"+ n +".jpg"; File file = new File (myDir, fname); if (file.exists ()) file.delete (); try { FileOutputStream out = new FileOutputStream(file); finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } } 

Marque este mapa de bits de guardar

Prueba esto

  Bitmap toDisk = Bitmap.createBitmap(w1,h1,Bitmap.Config.ARGB_8888); setBitmap(toDisk); Bitmap myBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.ban_background); Bitmap resizeImage1=Bitmap.createScaledBitmap(myBitmap,590,350,false); try { toDisk.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/mnt/sdcard/image".jpg"))); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

Usted tendrá que obtener la ruta de acceso al directorio de almacenamiento externo del teléfono primero, luego el directorio donde se almacenan las imágenes de la galería. En la mayoría de los modelos de Android esto es / mnt / sdcard / imágenes, pero no sugiero hardcoding esta ruta de acceso en su lugar

 Environment.getExternalStorageDirectory(); 

Después de eso sólo crear una ruta de acceso a ese directorio y utilizar un outputStream para escribir su mapa de bits a ese directorio.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.