我正在开发一款需要首次启动时创建文件的应用。 在下次启动时,我必须检查文件是否存在。如果可用,则跳过一些特定于应用程序的初始化。 这对我很有用。
问题: 适用于Android 7.0及更高版本和Motorola Devices。
当我卸载应用程序并再次从Play商店下载应用程序时,问题就出现了。 现在,先前创建的文件不会被删除。 因此,所有特定于应用程序的初始化都将被跳过。
请帮我解决这个问题。 提前谢谢。
答案 0 :(得分:1)
在Android 7.0及更高版本中,您是否可以选择SD卡作为默认存储位置?这或许可以解释为什么您的文件不会被删除。否则,如果这些文件存在于“应用空间”中,则卸载应用程序应自动删除它们。
答案 1 :(得分:0)
在应用缓存文件夹中创建文件,这是在Android中创建临时文件的最佳方式。
File outputDir = context.getCacheDir();
File outputFile = File.createTempFile("prefix", "extension", outputDir);
系统将自动删除此目录中的文件,因为设备上的其他位置需要磁盘空间。但是对于手动删除检查this。
答案 2 :(得分:0)
所以我遇到了这个问题。 创建文件时,我使用的是方法
context.getExternalFilesDir(null)
此方法提供卸载应用程序后未删除的数据文件夹路径。
替换为:
context.getFilesDir()
这解决了我的问题。 现在,卸载应用程序后,所有存储的文件都将被删除。
感谢所有回答和评论。