Sono al 4.4.2, cercando di cancellare un file (immagine) tramite uri. Ecco il mio codice:Come si eliminano i file a livello di programmazione su Android?
File file = new File(uri.getPath());
boolean deleted = file.delete();
if(!deleted){
boolean deleted2 = file.getCanonicalFile().delete();
if(!deleted2){
boolean deleted3 = getApplicationContext().deleteFile(file.getName());
}
}
In questo momento, nessuna di queste funzioni di eliminazione sta effettivamente eliminando il file. Ho anche questo nel mio AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
Non utilizzo getCanonicalFile(), ma solo File.delete() e funziona correttamente sul mio sistema. A meno che il tuo percorso dall'URI non sia valido. –
Il mio percorso è questo: /external/images/media/2918 Sembra giusto? –
... no. qualcosa come '/ mnt/sdcard/your_folder/your_file.png' fa. Tuttavia, è meglio ottenere il percorso di archiviazione tramite 'getExternalDirectory'. Infine, l'autorizzazione 'WRITE_EXTERNAL _...' include l'elemento 'READ_EXTERNAL _...'. –