2017-01-10 8 views
0

Итак, у меня есть растровое изображение, и после того, как я его отредактировал, я хочу, чтобы Пользователь мог его сохранить и посмотреть в галерее. Я искал в google и нашел много идей, но все, что я пробовал, не работает. Это мой код:Как сохранить растровое изображение в галерее?

 ((ImageButton) findViewById(R.id. imageButton)).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      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); 
       mutableBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); 
       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(MainActivity7.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); 
         } 
        }); 
     } 
    }); 

Так что не так или у вас есть какие-либо другие решения, как я могу сохранить мое растровое изображение в галерее?

+0

Когда вы просматриваете LogCat, вы видите трассировку стека из вашего приложения? – CommonsWare

ответ

0

Перейти к настройкам> Приложение и найти разрешение на хранение разрешено для вашего приложения или нет. Если нет, разрешите его и повторите попытку.