2011-12-15 42 views
1

如何在删除文件时更新媒体数据库。正在开发一个文件浏览器应用程序,所以我需要更新android中的媒体数据库?如何在android中更新android媒体数据库

此链接How to update the Android media database对我有帮助。但我需要的是扫描SD卡中的具体路径或位置。

如果每次运行此操作都需要更多时间,那么是否有任何方法可以扫描特定路径?像它应该只扫描名为“onefolder”的文件夹中存在的“/ sdcard/DCIM/onefolder /”文件。

回答

0

有了这个类,你可以扫描一个文件:

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); 
+0

感谢上述建议,但它仅工作了一个文件。当文件位于如文件名的文件夹中时,它不起作用:image.jpg它位于文件夹名称文件夹中,其路径是/ mnt/sdcard /文件夹。我需要的是在我的文件资源管理器应用程序,我想删除名为文件夹本身的文件夹。因此删除文件夹后应该从媒体数据库中删除文件的信息,但不会删除信息。 – 2011-12-16 08:24:05