Ihre App erfordert das Speichern von Dateien an einem Ort, auf den Sie über den Datei-Explorer Ihres Computers zugreifen können, wenn Sie ein Android-Gerät anschließen. Ihre aktuelle Implementierung mit Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) führt jedoch dazu, dass die Dateien im Windows-Datei-Explorer unsichtbar sind.
Das Problem liegt hier im MediaStore. Die von Ihnen erstellten Dateien werden zunächst nicht erkannt. Der Windows-Datei-Explorer und viele Galerie-Apps auf dem Gerät zeigen ihre Inhalte basierend auf dem MediaStore-Index an.
Um dieses Problem zu beheben, müssen Sie MediaStore mithilfe der MediaScannerConnection-Klasse und ihrer scanFile()-Methode über Ihre neu erstellten Dateien informieren. So können Sie es machen:
public void scanFile(Context ctxt, File f, String mimeType) { MediaScannerConnection.scanFile(ctxt, new String[] {f.getAbsolutePath()}, new String[] {mimeType}, null); }
Oder in Kotlin:
fun scanFile(ctxt: Context, f: File, mimeType: String) { MediaScannerConnection.scanFile(ctxt, arrayOf(f.getAbsolutePath()), arrayOf(mimeType), null) }
Durch die Verwendung von MediaScannerConnection und scanFile() können Sie MediaStore über die gespeicherten Dateien informieren, und diese werden gespeichert sichtbar im Windows-Datei-Explorer und anderen Apps, die auf MediaStore-Daten basieren.
Das obige ist der detaillierte Inhalt vonWie mache ich Android-Dateien im Windows-Datei-Explorer sichtbar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!