SD-карта в Android - PullRequest
       5

SD-карта в Android

1 голос
/ 26 июня 2011

В моем приложении у меня есть две кнопки воспроизведения и загрузки. В кнопке загрузки я загружаю видео из интернета и сохраняю на SD-карте. Я буду воспроизводить видео с SD-карты при нажатии кнопки воспроизведения.

Видео успешно загружено и сохранено на SD-карте. Если я нажму кнопку воспроизведения, я выведу список видео с SD-карты (в logcat) и воспроизведу загруженное видео. Он не показывает название загруженного видео, но если я открою SD-карту из моей системы, загруженное видео будет сохранено на SD-карте. я не знаю где я не прав.

1 Ответ

3 голосов
/ 26 июня 2011

Вы должны добавить медиа-файлы в 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.

...