我试图在我的应用程序中实现一个小文件浏览,以便为用户提供选择新路径(存储X)而不是默认路径的能力,同时我希望用户能够创建和删除文件。
到目前为止,我的代码正在运行但是有一些非常奇怪的东西,我只能删除我在应用程序中创建的文件。
我已经阅读了很多文件删除教程示例,在这里和那里,我最后一次检查我在我的应用程序清单中有读/写权限,但我仍然无法删除除我创建的文件以外的文件。这是最新的删除代码:
File file = new File(customAdapter.getItem(position).getFile().getAbsolutePath());
boolean isDeleted = file.delete();
if(!isDeleted){
Log.e("File manager: ",customAdapter.getItem(position).getFile().getName()+" deletion Fail");
} else {
fileHolderList.remove(position);
customAdapter.notifyDataSetChanged();
}
我还读过一些地方,出于某些安全目的,android允许你只删除你的软件包创建的文件,好吧但是在Play商店中那些文件资源管理器应用程序可以让你完全控制你的SD卡或内部存储文件。他们是怎么做到的?这意味着有办法。
请有人可以帮忙吗?
编辑:我的意思是文件夹文件夹。
答案 0 :(得分:3)
您只能修改位于SDCard类型的公共存储上的文件。无论是真实的还是模仿的。您是否尝试从内部存储中修改文件?您需要root权限才能更改内部存储上应用程序默认数据目录之外的任何内容。
由于我现在知道您正在尝试删除目录,我假设您正在尝试删除包含文件的目录。在删除目录本身之前,应该递归删除目录的内容。请参阅此问题,了解如何:https://stackoverflow.com/a/4026761/1590950