我在 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" />
原文由 Randall Stephens 发布,翻译遵循 CC BY-SA 4.0 许可协议
你为什么不用这段代码来测试它:
我认为部分问题是您从不尝试删除文件,您只是不断创建一个具有方法调用的变量。
所以在你的情况下你可以尝试:
但是我认为这有点矫枉过正。
您添加了您正在使用外部目录而不是 uri 的注释。因此,您应该添加如下内容:
然后尝试删除该文件。