Android中的SD卡

时间:2011-06-26 07:40:31

标签: android android-sdcard

在我的应用程序中,我有两个按钮播放和下载。在下载按钮中,我从互联网下载视频并存储在SD卡中,按下播放按钮时,我将从SD卡播放视频。

视频已成功下载并存储在SD卡中。如果我按播放按钮,我将列出SD卡中的视频(在logcat中)并播放下载的视频。它不显示下载的视频名称,但如果我从系统中打开SD卡,则下载的视频将存储在SD卡中。我不知道我错在哪里。

1 个答案:

答案 0 :(得分:3)

您必须将媒体文件添加到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