Вы должны добавить медиа-файлы в Media Store, чтобы их можно было увидеть в виджете галереи.Используйте MediaScanner.Я использую эту удобную оболочку в своем коде:
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 filePath, String mime){
mPath = filePath;
mMimeType = mime;
mConnection = new MediaScannerConnection(ctx, this);
}
// do the scanning
public void scan() {
mConnection.connect();
}
// start the scan when scanner is ready
public void onMediaScannerConnected() {
mConnection.scanFile(mPath, mMimeType);
Log.w("MediaScannerWrapper", "media file scanned: " + mPath);
}
public void onScanCompleted(String path, Uri uri) {
// when scan is completes, update media file tags
}
}
Затем создайте экземпляр MediaScannerWrapper
и запустите его с scan()
.Вы можете настроить его для обработки более одного файла одновременно.Подсказка: передайте список путей к файлам, а затем выполните цикл вокруг mConnection.scanFile
.