MediaScannerConnectionClient,增加多媒体内容进入系统库

列子:

import com.teleca.jamendo.JamendoApplication;
import com.teleca.jamendo.service.DownloadService;

import android.media.MediaScannerConnection;
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
import android.net.Uri;
import android.util.Log;

/**
 * Forces mp3 file scan on a downloaded file and adds it to the Android MusicPlayer's
 * library
 *
 * @author Lukasz Wisniewski
 */
public class MediaScannerNotifier implements MediaScannerConnectionClient{
    
    private MediaScannerConnection mConnection;
    private DownloadJob mDownloadJob;
    private DownloadService mService;
    static private int mScannedFilesInProgress = 0;

    public MediaScannerNotifier(DownloadService service, DownloadJob job) {
        mDownloadJob = job;
        mService = service;
        mConnection = new MediaScannerConnection(mService, this);
        mConnection.connect();
    }

    @Override
    public void onMediaScannerConnected() {
        //String path = mDownloadJob.getDestination();
        String path = DownloadHelper.getAbsolutePath(mDownloadJob.getPlaylistEntry(), mDownloadJob.getDestination());
        String fileName = DownloadHelper.getFileName(mDownloadJob.getPlaylistEntry(), mDownloadJob.getFormat());
        Log.i(JamendoApplication.TAG, "Adding to media library -> "+fileName);        
        if(mConnection.isConnected())
        {
            mConnection.scanFile(path+"/"+fileName, null);
            mScannedFilesInProgress++;            
        }
        

    }

    @Override
    public void onScanCompleted(String text, Uri uri) {
        Log.i(JamendoApplication.TAG, "Added to media library -> "+uri.toString());
        
        mScannedFilesInProgress--;
        mConnection.disconnect();
        
        // stop service if there is no downloads left
        if(mScannedFilesInProgress == 0){
            mService.notifyScanCompleted();
        }
    }

}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值