我正在删除文件
File fileToDelete = new File("filepath");
Boolean fileDeleted = fileToDelete.delete();
Run Code Online (Sandbox Code Playgroud)
fileDeleted为true,当我检查DDMS时,文件不存在,但如果我点击图库,它仍会显示刚删除的图像.我必须重新启动模拟器才能看到更改.
有没有办法看到更改,而无需重新启动emactor?我正在使用eclipse
zap*_*apl 15
该画廊正在使用Android的媒体数据库来显示媒体列表.在再次扫描文件系统之前,删除文件不会反映在数据库中.这是例如在重新启动后完成的.
您可以直接通过数据库删除文件,也可以强制它扫描刚刚删除的文件或文件夹.
File fileToDelete = new File("filepath");
boolean fileDeleted = fileToDelete.delete();
// request scan
Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
scanIntent.setData(Uri.fromFile(fileToDelete));
sendBroadcast(scanIntent);
Run Code Online (Sandbox Code Playgroud)
这与图库如何显示图像文件有关。图像文件的缩略图缓存在 MediaStore 中,所有详细信息都存在于 Mediastore contentProvider 中。
删除该文件不会更新此数据库。但是当你重新启动模拟器时,Mediascanning是由android完成的。如果可以触发MediaScanning,图库将停止显示文件
| 归档时间: |
|
| 查看次数: |
4271 次 |
| 最近记录: |