如何在android中更新android媒体数据库
问题描述:
如何在删除文件时更新媒体数据库。正在开发一个文件浏览器应用程序,所以我需要更新android中的媒体数据库?如何在android中更新android媒体数据库
此链接How to update the Android media database对我有帮助。但我需要的是扫描SD卡中的具体路径或位置。
如果每次运行此操作都需要更多时间,那么是否有任何方法可以扫描特定路径?像它应该只扫描名为“onefolder”的文件夹中存在的“/ sdcard/DCIM/onefolder /”文件。
答
有了这个类,你可以扫描一个文件:
import java.io.File;
import android.content.Context;
import android.media.MediaScannerConnection;
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
import android.net.Uri;
public class SingleMediaScanner implements MediaScannerConnectionClient {
private MediaScannerConnection mMs;
private File mFile;
public SingleMediaScanner(Context context, File f) {
mFile = f;
mMs = new MediaScannerConnection(context, this);
mMs.connect();
}
@Override
public void onMediaScannerConnected() {
mMs.scanFile(mFile.getAbsolutePath(), null);
}
@Override
public void onScanCompleted(String path, Uri uri) {
mMs.disconnect();
}
}
然后就这样称呼它:
new SingleMediaScanner(this, file);
感谢上述建议,但它仅工作了一个文件。当文件位于如文件名的文件夹中时,它不起作用:image.jpg它位于文件夹名称文件夹中,其路径是/ mnt/sdcard /文件夹。我需要的是在我的文件资源管理器应用程序,我想删除名为文件夹本身的文件夹。因此删除文件夹后应该从媒体数据库中删除文件的信息,但不会删除信息。 – 2011-12-16 08:24:05