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

时间:2014-01-28 21:26:01

标签: android file-io mediastore android-mediascanner

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

这是个例外:

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

我用这个:

  

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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