我有一个问题,与一些设备。我不能复制它在任何设备上,但我有相当多的崩溃报告报告的一些用户。
这是一个例外:
java.lang.IllegalArgumentException: Unknown URL content://media/external/file
at android.content.ContentResolver.delete(ContentResolver.java:1024)
我用这个:
删除(媒体存储.文件.获取内容Uri("外部"),媒体存储.文件.文件列.数据+"=?",新字符串[] {路径});
之后,我调用MediaScannerConnection.scanFile()
文件的父目录,因为它是我最有效的方式如何通知MediaScanner有关文件删除和如何刷新MTP内容.我尝试了所有其他方法,我发现这里的stackoverflow(例如Android How to use MediaScannerConnection scanFile),但没有什么工作,以及这个.
顺便说一句。我只在api 11和更新的版本中使用它。外部存储肯定是挂载的。
我有这些问题:1.你知道为什么这个异常发生的原因吗?我不想只是忽略这个异常。我不想删除这个代码时,它的工作相当不错的大多数设备。2.你知道一些新的可靠的方法如何通知MediaScanner和如何立即刷新MTP的内容时,一些文件被删除?
1条答案
按热度按时间jhdbpxl91#
最有可能的是它与设备上的缓存有关。捕获异常并忽略并不好,但我的问题已经修复,似乎可以工作了。