Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Uricontent://media/external/file 不';有些设备不存在_Android_File Io_Mediastore_Android Mediascanner - Fatal编程技术网

Android Uricontent://media/external/file 不';有些设备不存在

Android Uricontent://media/external/file 不';有些设备不存在,android,file-io,mediastore,android-mediascanner,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().delete(MediaStore

我对一些设备有问题。我无法在任何设备上复制它,但我有很多用户报告的崩溃报告

这是一个例外:

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

context.getContentResolver().delete(MediaStore.Files.getContentUri(“外部”), MediaStore.Files.FileColumns.DATA+“=?”,新字符串[]{path})

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

顺便说一句,我只对API11和更新版本使用它。外部存储肯定已安装

我有以下问题: 1.您知道发生此异常的原因吗?我不想忽视这个例外。我不想删除这段代码,因为它对大多数设备都很有效。
2.您知道一些新的可靠方法吗?如何通知MediaScanner,以及如何在删除某些文件时立即刷新MTP的内容?

很可能与设备上的缓存有关。捕获异常并忽略是不好的,但是我的问题已经解决了,而且似乎可以正常工作。

这很奇怪,特别是因为几乎相同的调用是
testMediaScanner
中的一部分。你知道什么类型的设备正在崩溃吗?是否仅限于制造商/型号/操作系统?