我使用MediaStore从Android设备获取所有视频文件。然后我删除其中一些视频。接下来我再次使用MediaStore,并获得所有已删除的文件。
为什么MediaStore会返回设备上不再存在的文件?
删除文件:
File file = new File(filePath);
file.delete();
从设备获取所有视频文件:
public static List<String> getVideoFiles(Context context) {
String[] projection = { MediaStore.Video.Media.DATA };
Cursor cursor = context.getContentResolver().query(
MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, null,
null, null);
List<String> videoList = new ArrayList<String>();
while (cursor.moveToNext()) {
videoList.add(cursor.getString(0));
}
Log.i(Constants.LOG_TAG, "get video files, load: " + videoList.size() + " "
+ videoList.toString());
return videoList;
}
答案 0 :(得分:1)
MediaStore更新媒体列表不是实时的。它需要时间来测试其数据库的相关性。一段时间后尝试拨打MediaStore。 或report manually关于更新内容。