2017-05-18 6 views
1

Wenn ich versuche, ein Bild in ein Verzeichnis zu speichern ... Das Verzeichnis wird von MediaScannerConnection gescannt, aber die Bilder werden nicht in der Galerie angezeigt. Brauche Hilfe!!Bilder werden nicht nach dem Scannen mit MediaScannerConnection angezeigt sacn

public void saveItem() { 
     if (selectCount == 0) { 
      Toast.makeText(getActivity(), "Select at least one image", Toast.LENGTH_SHORT).show(); 
     } else { 
      Iterator iterator = selectedFile.iterator(); 
      while (iterator.hasNext()) { 

       gridFilePath = new File(iterator.next().toString()); 
       String destinationPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/myImages/"; 
       File destination = new File(destinationPath); 
       try { 
        FileUtils.copyFileToDirectory(gridFilePath, destination); 
        MediaScannerConnection.scanFile(getActivity(), new String[]{destinationPath}, 
          null, new MediaScannerConnection.MediaScannerConnectionClient() { 
           @Override 
           public void onMediaScannerConnected() { 

           } 

           @Override 
           public void onScanCompleted(String path, Uri uri) { 
            Log.d("Scan","Scanning Completed"); 
           } 
          } 

        ); 
        Log.d("Image Saved", "Saved"); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 

      Toast.makeText(getActivity(), "Pictures Saved", Toast.LENGTH_LONG).show(); 
     } 
    } 

Antwort

1

Ich reparierte mein Problem der mimt der Datei hinzufügen:

private void notifyNewFileToSystem(File file) { 
    String type = null; 
    String extension = MimeTypeMap.getFileExtensionFromUrl(file.getAbsolutePath()); 
    if (extension != null) { 
     type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); 
    } 

    MediaScannerConnection.scanFile(getApplicationContext(), 
      new String[]{file.getAbsolutePath()}, 
      new String[]{type}, 
      (path, uri) -> { 
       Log.e(TAG, "Path: " + path); 
       Log.e(TAG, "Uri: " + uri); 
      } 
    ); 
} 

ich die Lösung gefunden die mimt hier zu bekommen: https://stackoverflow.com/a/8591230/2077248

Verwandte Themen