【发布时间】:2013-12-18 09:22:18
【问题描述】:
我正在从我的应用程序的图库中删除文件。文件已成功删除,但删除后文件仍显示在图库中,直到我重新启动设备。 我尝试过不同的解决方案,例如
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(from.getParentFile())); sendBroadcast(intent);
和媒体扫描仪
public class SingalmediaScaner implements MediaScannerConnectionClient {
private MediaScannerConnection mMs;
private File mFile;
public SingalmediaScaner(Context context, File f) {
mFile = f;
mMs = new MediaScannerConnection(context, this);
mMs.connect();
}
@Override
public void onMediaScannerConnected() {
mMs.scanFile(mFile.toString(), null);
}
@Override
public void onScanCompleted(String path, Uri uri) {
mMs.disconnect();
}
和
private static void removeThumbnails(ContentResolver contentResolver,
long photoId) {
Cursor thumbnails = contentResolver.query(
Thumbnails.EXTERNAL_CONTENT_URI, null, Thumbnails.IMAGE_ID
+ "=?", new String[] { String.valueOf(photoId) }, null);
for (thumbnails.moveToFirst(); !thumbnails.isAfterLast(); thumbnails
.moveToNext()) {
long thumbnailId = thumbnails.getLong(thumbnails
.getColumnIndex(Thumbnails._ID));
String path = thumbnails.getString(thumbnails
.getColumnIndex(Thumbnails.DATA));
File file = new File(path);
if (file.delete()) {
contentResolver.delete(Thumbnails.EXTERNAL_CONTENT_URI,
Thumbnails._ID + "=?",
new String[] { String.valueOf(thumbnailId) });
}
}
}
}
但以上都不适合我 文件已删除,但图库未刷新。 如何在不重新启动设备的情况下刷新图库。 或者我如何在不重新启动我的应用程序的情况下刷新图库
【问题讨论】: