从Android设备删除内存中的文件?

时间:2011-10-06 13:20:10

标签: java android file

我正在尝试删除存储在内部存储器中的文件。使用

删除文件
activity.deleteFile(filename);

但仅限于模拟器。在实际设备上,该方法始终返回false。当我尝试从adb shell访问该文件时,会显示权限被拒绝。所以,我想与删除内部存储器中的文件存在许可相关的问题。

有人可以告诉我如何从Android内部内存中删除文件吗?

4 个答案:

答案 0 :(得分:4)

由于security constraints,您只能删除应用创建的文件。您也无法删除属于应用程序包(apk)的文件,即/res/assets等文件。

答案 1 :(得分:4)

如果您正在谈论文件系统中的任何文件......这不起作用吗?

if (new File("fileUrl").delete()) {
  // Deleted
} else {
  // Not deleted
}

答案 2 :(得分:3)

此处FileName是要删除且没有路径分隔符的File的名称。这意味着FileName不应包含路径分隔符,如“/”。 文件应该由您的应用程序创建。 我的问题通过该代码解决了。

if(getApplicationContext().deleteFile(FileName)) { Toast.makeText(getApplicationContext(),"File Deleted",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(),"Not Deleted",Toast.LENGTH_SHORT).show(); }

答案 3 :(得分:0)

您应该使用:

_context.openFileOutput(fileName, Context.MODE_WORLD_READABLE);

写文件时