首页 > 解决方案 > 在 URI 上使用 ContentResolver 时出现 ENOENT / FileNotFoundException

问题描述

错误是:

Caused by android.system.ErrnoException
open failed: ENOENT (No such file or directory)

Non-fatal Exception: java.io.FileNotFoundException
/storage/emulated/0/Download/File-16.ext: open failed: ENOENT (No such file or directory)

(出于隐私考虑,文件名/扩展名略有更改。)


这行代码很简单

inputStream = getContentResolver().openInputStream(data);

其中 data 是非空 URIintent.getData();

它适用于 99% 的用户,但也有不少用户默默地报告了这次崩溃。我不知道为什么?

我已经记录了一些导致这种情况的 URI,但没有看到任何模式:

设备/安卓版本也没有一致性。找不到任何关于此的问题,只有回答说要在 URIS 上使用 ContentResolver 的问题,在这种情况下我就是这样。

标签: androidandroid-contentresolver

解决方案


推荐阅读