0
votes

Écriture réussie des fichiers sur le stockage externe, mais impossible de supprimer le dossier

android studio 3.6

dans le manifeste:

val isDelete = saveImagesDir.delete()

ici mon modèle de vue:

public static File getExternalStoragePath(Context context) {
        File root = context.getExternalFilesDir(null);
        File savedImagePath = new File(root + "/saved_images");
        return savedImagePath;
    }

et ici la méthode util :

 init {
        Debug.d(TAG, "init: call_loadOperationHistory()")
        //loadOperationHistory()
        val saveImagesDir =
            AndroidUtil.getExternalStoragePath(getApplication<Application>().applicationContext)
        if (saveImagesDir.exists()) {
            val isDelete = saveImagesDir.delete()
            Debug.d(
                TAG,
                "init: isDelete = " + isDelete + ", saveImagesDir_delete = " + saveImagesDir
            )
        }
    }

J'ai réussi à écrire des fichiers dans ce répertoire. Mais je ne peux pas supprimer ce répertoire.

Méthode:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

renvoie toujours false


0 commentaires

3 Réponses :


0
votes

Pouvez-vous s'il vous plaît vérifier la même chose une fois en ajoutant

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Autorisation de manifester


1 commentaires

Pas d'aide. Même résultat



2
votes

Fournissez les autorisations de lecture et d'écriture et essayez ceci:

implementation 'org.apache.commons:commons-io:1.3.2'  

Ajoutez cette ligne dans le fichier gradle pour avoir Apache

File dir = new File("root path");
FileUtils.deleteDirectory(dir);


0 commentaires

0
votes

Si le répertoire contient des fichiers, vous ne pouvez pas le supprimer avec la classe File.

Commencez par le vider.


0 commentaires