1

Я сохраняю загружаемое изображение, но когда я открываю приложения для загрузки, я не вижу файл. Я попытался использовать MediaScannerConnection для сканирования, но все же он не появляется. Здесь мой код. пожалуйста, помогитеФайл сохранен в загружаемом файле, но не отображается в приложении «Загрузить»

private void createPNGFile() 
    { 
     File downloadPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 
     File createPNGImage = new File(downloadPath.getAbsolutePath(),"image.png"); 

     try { 
      InputStream is; 
      is = getResources().openRawResource(R.raw.icon); 
      OutputStream os = new FileOutputStream(createPNGImage); 
      byte[] data = new byte[is.available()]; 
      is.read(data); 

      os.write(data); 
      is.close(); 
      os.close(); 
      Toast.makeText(this, "File Created (Path): " + createPNGImage.getAbsolutePath(), Toast.LENGTH_LONG).show(); 
      scanFiles(createPNGImage); 
}catch(IOException e) 
{ 
} 

} 

private void scanFiles(final File fileObj) 
{ 
     MediaScannerConnection.scanFile(this, new String[]{ 

         fileObj.getAbsolutePath()}, 

       null, new MediaScannerConnection.OnScanCompletedListener() { 

        public void onScanCompleted(String path, Uri uri) 

        { 

         Log.d("Media Scan", "Scan Completed" + fileObj.getAbsolutePath()); 
        } 

       }); 

} 

ответ

0

Попробуйте запустить следующий код после сохранения изображения:

Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
Uri contentUri = Uri.fromFile(createPNGImage); 
mediaScanIntent.setData(contentUri); 
sendBroadcast(mediaScanIntent); 
+0

хорошо я попробовал, что ..its не работает, как хорошо ... Я использовал этот код закодированного values..now я могу видеть файл, но не могу его открыть. Я смущен, о чем именно идет mediascanner? DownloadManager downloadManager = (DownloadManager) getSystemService (DOWNLOAD_SERVICE); downloadManager.addCompletedDownload («Изображение», «Изображение сохранено», true, «image.png», fileObj.getAbsolutePath(), 1, true); – John