在我的应用程序中,我正在拍摄照片并将其存储到 SD 卡中。我的文件的位置是:
photoPath = getExternalFilesDir(Environment.DIRECTORY_PICTURES) + "/"
+ "MyFolder" + "/"+"ImageName";
但是当我使用“设备的清除数据选项”提供清除数据时,文件并没有被删除。当我使用三星设备时,它被删除了。但是当我尝试使用联想设备时,我遇到了这个问题。
有人可以分享您的建议吗?
在我的应用程序中,我正在拍摄照片并将其存储到 SD 卡中。我的文件的位置是:
photoPath = getExternalFilesDir(Environment.DIRECTORY_PICTURES) + "/"
+ "MyFolder" + "/"+"ImageName";
但是当我使用“设备的清除数据选项”提供清除数据时,文件并没有被删除。当我使用三星设备时,它被删除了。但是当我尝试使用联想设备时,我遇到了这个问题。
有人可以分享您的建议吗?
我认为该选项旨在仅清除与内部应用程序关联的数据。
您选择在 SD 卡上存储额外的数据,我认为系统不会删除它。你应该自己管理。
这带来了为什么三星能够删除该文件的问题?我不知道为什么。
可能取决于设备。
如果要删除文件夹中的全部内容,请尝试此代码。
void DeleteRecursive(File fileOrDirectory) {
if (fileOrDirectory.isDirectory())
for (File child : fileOrDirectory.listFiles())
DeleteRecursive(child);
fileOrDirectory.delete();
}