防止用户删除SD卡中的文件夹或文件

3

我正在将一个文件夹保存在此位置:Android/data/package-name/files/,现在我想限制用户删除该文件夹。

怎么做?

注意:因为我正在使用扩展文件,提取的数据只会保存在这个位置,所以当用户卸载应用时,文件夹会自动被删除。

1个回答

2

不可能的。用户不仅可以删除该文件夹,任何获得WRITE_EXTERNAL_STORAGE权限的设备上的其他应用程序也可以这样做。


好的,因为我正在处理扩展文件,所以我正在提取那些文件并保存到这个目录中,如果即使从文件夹中删除了文件,那么我的应用程序将崩溃,那么解决方法是什么?同时我也必须解压缩这些文件。 - Goofy
@Goofy:"那有什么解决办法" -- 编写一个更健壮的应用程序,一个不会崩溃的应用程序。例如,捕获异常,或者查看文件是否存在,然后告诉用户数据已损坏。至于能否从中恢复,我无法确定,因为我没有使用过扩展文件,也不知道以后是否可以再次获取数据。 - CommonsWare
一种可能的选择是检查内部存储空间的大小,如果它是现代设备(8GB、16GB等),则将内容写入其他人无法访问的内部存储空间。但请记得检查空间,如果您在256MB内部存储空间的设备上尝试此操作,您将遇到其他问题。 - Budius
@Goofy,另一件你无法做到的事情是防止用户从存储文件夹的外部SD卡中取出(假设这是一个可移动的SD卡)并将其替换为另一个SD卡。因此,就像CommonsWare建议的那样,你必须计划并处理这种情况,因为你无法防止它发生。 - Stephan Branczyk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接