Zugriff auf Dateien im externen Speicher von Windows aus
Android bietet eine einheitliche Möglichkeit, auf Dateien im externen Speicher zuzugreifen und sie sowohl in der App als auch sichtbar zu machen Systemdatei-Explorer. Wenn die Dateien Ihrer App jedoch nach dem Schreiben in den externen Speicher nicht in Windows angezeigt werden, kann dies auf ein Problem mit Ihrer Implementierung hinweisen.
Aktuelle Implementierung
Sie haben implementiert Schreiben der Datei in das Verzeichnis Environment.DIRECTORY_DOCUMENTS, das normalerweise in Windows sichtbar sein sollte. Das Problem liegt jedoch in der Indizierung von MediaStore.
MediaStore-Indizierung
MediaStore ist für die Indizierung von Dateien auf externen Speichern und deren Darstellung in Systemdatei-Explorern und Galerie-Apps verantwortlich. Wenn eine neu erstellte Datei noch nicht von MediaStore erkannt wird, ist sie nicht sichtbar.
Vorgeschlagene Lösung
Um die Dateien Ihrer App in Windows sichtbar zu machen, müssen Sie dies tun Benachrichtigen Sie MediaStore darüber mithilfe von MediaScannerConnection und seiner scanFile()-Methode. Diese Funktion weist MediaStore an, die angegebene Datei zu indizieren und ihre Datensätze entsprechend zu aktualisieren.
Codefragmente
In Java:
public void scanFile(Context ctxt, File f, String mimeType) { MediaScannerConnection.scanFile(ctxt, new String[] {f.getAbsolutePath()}, new String[] {mimeType}, null); }
In Kotlin:
fun scanFile(ctxt: Context, f: File, mimeType: String) { MediaScannerConnection.scanFile(ctxt, arrayOf(f.getAbsolutePath()), arrayOf(mimeType), null) }
Durch den Aufruf von scanFile() nach dem Schreiben Ihrer Daten auf die Festplatte veranlassen Sie MediaStore, Ihre Datei zu indizieren und Machen Sie es sowohl in Windows als auch im Datei-Explorer auf dem Gerät sichtbar.
Das obige ist der detaillierte Inhalt vonWarum werden die Dateien meiner Android-App nicht im Windows-Datei-Explorer angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!