Uri内容://某些设备不存在media / external / file

问题描述 投票:4回答:1

我的某些设备存在问题。我不能在任何设备上复制它,但我有一些用户报告了很多崩溃报告。

这是例外:

java.lang.IllegalArgumentException: Unknown URL content://media/external/file
    at android.content.ContentResolver.delete(ContentResolver.java:1024)

我用这个:

context.getContentResolver()。delete(MediaStore.Files.getContentUri(“external”),MediaStore.Files.FileColumns.DATA +“=?”,new String [] {path});

之后我在文件的父目录上调用MediaScannerConnection.scanFile(),因为它是如何通知MediaScanner删除文件以及如何刷新MTP内容的最实用的方法。我尝试了在stackoverflow上找到的所有其他方法(例如Android How to use MediaScannerConnection scanFile),但没有什么比这更好。

顺便说一句。我只将它用于API 11和更新版本。外部存储肯定是安装的。

我有这些问题:1。你知道出现这种异常的原因吗?我不想只是忽略异常。当它对大多数设备起作用时,我不想删除此代码。 2.您是否知道一些新的可靠方法如何通知MediaScanner以及如何在删除某个文件时立即刷新MTP的内容?

android file-io mediastore android-mediascanner
1个回答
0
投票

最有可能的是它与设备上的缓存有关。捕获异常并忽略并不好,但我的问题已修复,似乎有效。

© www.soinside.com 2019 - 2024. All rights reserved.