2011-04-27 76 views
1

我需要删除保存在我的Android图库中的文件(视频文件)。我用file.delete();.该文件在某些​​设备中被删除。在一些像Galaxy S这样的设备中,文件的状态表明它被删除,但它仍然存在于画廊中。但视频无法播放!如何清除图片库的缓存

我发现媒体库正在对某些预览/缩略图进行一些积极的缓存,以便您在那里看到它,但无法播放 - 因为底层文件已经消失。如何删除此缓存?

+0

因此..也许你需要从Gallery Content Provider中删除关于文件的信息? – 2011-04-27 12:43:27

+0

你可以强制'MediaStore'重新扫描一个目录:http://stackoverflow.com/questions/3300137/how-can-i-refresh-mediastore-on-android – 2011-04-27 12:45:42

+0

@Igor Khomenko yes。我需要从Galery Content Provider中删除信息 – includeMe 2011-04-28 13:03:37

回答

2

您可以发送广播以通过MediaScanner扫描您的图像/视频文件。

File f1 = new File("pathToYourFile"); 
Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
scanIntent.setData(Uri.fromFile(f1)); 
sendBroadcast(scanIntent); 

注:删除文件,将迫使MediaScanner以检查文件是否存在,以它会检测该文件不存在更多,同样会在画廊反映后发送广播。

你可以做的下一件事是清除画廊应用程序的缓存。