在URI上使用ContentResolver时出现ENOENT / FileNotFoundException

时间:2019-01-14 18:53:53

标签: android android-contentresolver

错误是:

SELECT, UPDATE, DELETE, DROP, ...

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)

数据是非空URI inputStream = getContentResolver().openInputStream(data);

它适用于99%的用户,但是有很多人默默报告此崩溃。我不知道为什么吗?

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

  • file:///storage/emulated/0/Download/File-16.ext
  • file:///storage/emulated/0/Download/12APK%2BOBB.NESTV.zip
  • file:/// storage / emulated / 0 / Download / Figure%20Submission%20umdertale
  • content://com.google.android.apps.searchlite.fileprovider/downloadfile/storage/emulated/0/Download/MKX-Scorpion-vs-Sub-Zero.zip
  • content:// downloads / all_downloads / 2249

在设备/ Android版本中也没有一致性。对此没有任何疑问,只有那些回答说要在URIS上使用ContentResolver的问题,我就是这种情况。

0 个答案:

没有答案