我正在尝试删除存储在内部存储器中的文件。使用
删除文件activity.deleteFile(filename);
但仅限于模拟器。在实际设备上,该方法始终返回false。当我尝试从adb shell访问该文件时,会显示权限被拒绝。所以,我想与删除内部存储器中的文件存在许可相关的问题。
有人可以告诉我如何从Android内部内存中删除文件吗?
答案 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);
写文件时