gpt4 book ai didi

Android context.getFilesDir() 有时会返回根文件夹

转载 作者:搜寻专家 更新时间:2023-11-01 08:01:32 31 4
gpt4 key购买 nike

在第一次启动应用程序时,我使用 context.getFilesDir() 创建一个文件来获取存储路径。这工作正常,除了极少数情况外,此方法返回“/”根文件夹。结果,应用程序崩溃并显示:

java.io.FileNotFoundException: /my_filename (Read-only file system)

当我在我的设备上调试时,文件路径是:

/data/data/my.package/files/my_filename

此代码在 SherlockActivity 的 onCreate 中调用。所以上下文就是 Activity 的上下文。奇怪的是,故障很少见,并且发生故障的设备之间没有共性。

更新:根据目前的反馈,这段代码应该可以工作,偶尔的失败可能是由于奇怪的设备造成的。尝试解决这个问题对于我的用例来说有点矫枉过正,因为文件存储并不是真正强制性的。我将尝试迁移我的代码以使用 SharedPreferences。

最佳答案

所有 4.4 之前的 Android 设备中都有一个已确认的错误,这种错误很少发生。该错误的原因是在首次启动时创建应用私有(private)目录的竞争条件。

建议的修复(由 Google Android 团队成员提出)是在第一个方法失败并返回“空”值后再次尝试 Context.getFilesDir() 方法。

关于Android context.getFilesDir() 有时会返回根文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20721649/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com