Android4.4之前可以通过发一个系统广播来更新媒体库,但是4.4以后就不行了,这个广播仅限于系统发,看到网上都说可以用
MediaScannerConnection.scanFile()这个方法,但是我发现只是在删除文件后才会更新,如果增加文件并不会更新,请问怎么解决,我只有5个币了,望大家帮帮忙
public class MediaScannerWrapper implements
MediaScannerConnection.MediaScannerConnectionClient {
private MediaScannerConnection mConnection;
private String mPath;
private String mMimeType;
// filePath - where to scan;
// mime type of media to scan i.e. "image/jpeg".
// use "*/*" for any media
public MediaScannerWrapper(Context ctx, String mime) {
mMimeType = mime;
mConnection = new MediaScannerConnection(ctx, this);
}
public void scan(String path) {
mPath = path;
if (mConnection.isConnected()) {
mConnection.scanFile(mPath, mMimeType);
} else {
mConnection.connect();
}
}
// start the scan when scanner is ready
public void onMediaScannerConnected() {
mConnection.scanFile(mPath, mMimeType);
}
public void onScanCompleted(String path, Uri uri) {
}
public void disConnected() {
if (mConnection.isConnected())
mConnection.disconnect();
}
}
我也是使用MediaScannerConnection,在4.4上亲测可以实现更新媒体库。构造里的mime可以传null