gpt4 book ai didi

android - 检查 DocumentFile 是否存在

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:34 24 4
gpt4 key购买 nike

我使用 DocumentFile 检查文件元数据和存在性。这是这样实例化的:

DocumentFile df = DocumentFile.fromSingleUri(context, uri);
boolean exists = df.exists();

该文件的 uri 以前有效,直到我故意在文件系统中手动删除该文件以查看该应用程序的 react 。现在这个堆栈跟踪出现在应用程序中:

03-14 11:33:08.559 27087-27097/? E/DatabaseUtils: Writing exception to parcel
java.lang.IllegalArgumentException: Failed to determine if primary:Download/thefile.txt is child of primary:Download: java.io.FileNotFoundException: Missing file for primary:Download/thefile.txt at /storage/emulated/0/Download/thefile.txt
at com.android.externalstorage.ExternalStorageProvider.isChildDocument(ExternalStorageProvider.java:326)
at android.provider.DocumentsProvider.enforceTree(DocumentsProvider.java:198)
at android.provider.DocumentsProvider.query(DocumentsProvider.java:489)
at android.content.ContentProvider.query(ContentProvider.java:1017)
at android.content.ContentProvider$Transport.query(ContentProvider.java:238)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
at android.os.Binder.execTransact(Binder.java:453)
03-14 11:33:08.561 27046-27419/packagename W/DocumentFile: Failed query: java.lang.IllegalArgumentException: Failed to determine if primary:Download/thefile.txt is child of primary:Download: java.io.FileNotFoundException: Missing file for primary:Download/thefile.txt at /storage/emulated/0/Download/thefile.txt

不会使应用程序崩溃,它只是在我每次尝试使用 DocumentFile 时生成此堆栈跟踪。所以在最坏的情况下,这只是 logcat 中的一个刺激物。

我希望使用 .exists() 避免此 FileNotFoundException。当我检查它是否存在以避免使用不存在的文件时。

在这种情况下是否推荐使用不同的函数?

最佳答案

我处理这种烦恼的时间太长了;你甚至不能把它包起来。我已针对此错误提交错误报告:

https://code.google.com/p/android/issues/detail?id=241400&thanks=241400&ts=1489099169

添加支持,这样可以更快地解决问题。

关于android - 检查 DocumentFile 是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35985321/

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