2016-04-14 31 views
0

bitmap kurtarmak için ne yazık ki bulduğum çözümler android 5.1.1 üzerinde çalışmadı. Kaynak adında bir bitmap var. Doğrudan telefonumun galerisine kaydetmem gerekiyor. Bildirimlerim <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> içeriyor. Bunu yapmak için bana bir çalışma yöntemi verebilir misiniz?android galeri

+1

@Mihalil Burada çözüm gönderebilir misiniz? – dex

+0

@Mihalil Чёткая ава –

cevap

9

kullanın bu bir:

private void saveImage(Bitmap finalBitmap, String image_name) { 

     String root = Environment.getExternalStorageDirectory().toString(); 
     File myDir = new File(root); 
     myDir.mkdirs(); 
     String fname = "Image-" + image_name+ ".jpg"; 
     File file = new File(myDir, fname); 
     if (file.exists()) file.delete(); 
     Log.i("LOAD", root + fname); 
     try { 
      FileOutputStream out = new FileOutputStream(file); 
      finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); 
      out.flush(); 
      out.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
0

MediaStore.Images.Media.insertImage(applicationContext.getContentResolver(), IMAGE ,"nameofimage" , "description");

0

bunu kullanın size saved_images ve bu klasör görüntüleri olan belli bir klasöre görüntüleri depolamak için yardımcı Bu kod galeride göstermek Tek Hat Do it hemen.

private void SaveImage(Bitmap finalBitmap) { 

String root = Environment.getExternalStoragePublicDirectory(
    Environment.DIRECTORY_PICTURES).toString(); 
File myDir = new File(root + "/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); 
    // sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
    //  Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); 
    out.flush(); 
    out.close(); 

} catch (Exception e) { 
    e.printStackTrace(); 
} 
// Tell the media scanner about the new file so that it is 
// immediately available to the user. 
MediaScannerConnection.scanFile(this, new String[]{file.toString()}, null, 
    new MediaScannerConnection.OnScanCompletedListener() { 
     public void onScanCompleted(String path, Uri uri) { 
      Log.i("ExternalStorage", "Scanned " + path + ":"); 
      Log.i("ExternalStorage", "-> uri=" + uri); 
     } 
    }); 
} 
İlgili konular