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 = (다운로드 관리자) getSystemService (DOWNLOAD_SERVICE); downloadManager.addCompletedDownload ("이미지", "이미지 저장 됨", true, "image.png", fileObj.getAbsolutePath(), 1, true); – John

관련 문제