我正在使用4.4.2版本的系统,尝试通过URI删除一个文件(图像)。这是我的代码:
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());
}
}
现在,这些删除函数中没有一个实际上删除文件。我也在我的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" />
/mnt/sdcard/your_folder/your_file.png
这样的路径不是最好的选择。相反,最好通过getExternalDirectory
获取存储路径。最后,权限WRITE_EXTERNAL_...
包括READ_EXTERNAL_...
的权限。 - Phantômaxx