Accès aux fichiers sur le stockage externe à partir de Windows
Android fournit un moyen unifié d'accéder aux fichiers sur le stockage externe, les rendant visibles à la fois dans l'application et explorateurs de fichiers système. Toutefois, si les fichiers de votre application n'apparaissent pas dans Windows après les avoir écrits sur un stockage externe, cela peut indiquer un problème avec votre implémentation.
Mise en œuvre actuelle
Vous avez implémenté écriture du fichier dans le répertoire Environment.DIRECTORY_DOCUMENTS, qui devrait normalement être visible sous Windows. Cependant, le problème réside dans l'indexation de MediaStore.
Indexation MediaStore
MediaStore est responsable de l'indexation des fichiers sur le stockage externe et de leur présentation dans les explorateurs de fichiers système et les applications de galerie. Si un fichier nouvellement créé n'est pas encore découvert par MediaStore, il ne sera pas visible.
Solution proposée
Pour rendre les fichiers de votre application visibles dans Windows, vous devez informez-en MediaStore à l’aide de MediaScannerConnection et de sa méthode scanFile(). Cette fonction demande à MediaStore d'indexer le fichier spécifié et de mettre à jour ses enregistrements en conséquence.
Extraits de code
En Java :
public void scanFile(Context ctxt, File f, String mimeType) { MediaScannerConnection.scanFile(ctxt, new String[] {f.getAbsolutePath()}, new String[] {mimeType}, null); }
En Kotlin :
fun scanFile(ctxt: Context, f: File, mimeType: String) { MediaScannerConnection.scanFile(ctxt, arrayOf(f.getAbsolutePath()), arrayOf(mimeType), null) }
En appelant scanFile() après avoir écrit vos données sur le disque, vous déclencherez MediaStore pour indexer votre fichier et rendez-le visible dans les explorateurs de fichiers Windows et sur l'appareil.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!