大家好我正在开发一款Android视频分享应用。我需要从设备加载视频文件并在GridView中显示缩略图。我是这样做的,使用Cursor。下面的代码工作正常,但我经常发现光标返回的不存在的视频文件出现了。这些通常是我之前删除的视频文件。重新启动设备后,它们将消失。
我在谷歌的照片应用中发现了同样的问题,即带有Google+应用的应用。同样的行为。
我知道我可以将String [] where和String [] args放在CursorLoader的构造函数中,但我不知道如何检查查询中是否存在给定的文件路径。
有没有人遇到过同样的情况?谢谢你的帮助。
String[] projection = {
MediaStore.Video.Media._ID,
MediaStore.Video.Media.DATA,
MediaStore.Video.Media.DISPLAY_NAME,
MediaStore.Video.Media.SIZE,
MediaStore.Video.Media.LONGITUDE,
MediaStore.Video.Media.LATITUDE,
MediaStore.Video.Media.DURATION,
MediaStore.Files.FileColumns.DATE_ADDED
};
Cursor videoCursor = new CursorLoader(getActivity(), MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection,
null, null, MediaStore.Files.FileColumns.DATE_ADDED + " DESC"
).loadInBackground();