sovinchan 2015-08-18 02:33 采纳率: 66.7%
浏览 2254
已采纳

Android4.4强制更新媒体库

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

  • 写回答

1条回答 默认 最新

  • Kilnn 2015-08-22 08:38
    关注
     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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?