我对某些设备有疑问。我无法在任何设备上复制它,但我收到了一些用户报告的大量崩溃报告。
这是一个例外:
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 如何使用 MediaScannerConnection scanFile),但没有什么比这更有效。
顺便提一句。我只将它用于 API 11 和更新版本。外部存储肯定已安装。
我有这些问题: 1. 你知道这个异常发生的任何原因吗?我不想只是忽略异常。当它对大多数设备都很好时,我不想删除它。2.您知道一些新的可靠方法如何通知MediaScanner以及如何在删除某些文件时立即刷新MTP的内容吗?