开发者社区> 问答> 正文

Android4.4强制更新媒体库

Android4.4之前可以通过发一个系统广播来更新媒体库,但是4.4以后就不行了,这个广播仅限于系统发,看到网上都说可以用
MediaScannerConnection.scanFile()这个方法,但是我发现只是在删除文件后才会更新,如果增加文件并不会更新,

展开
收起
爵霸 2016-06-14 08:41:47 2460 0
1 条回答
写回答
取消 提交回答
  • 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

    2019-07-17 19:36:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载