I realized that maybe you were looking for a solution that would work up to level 8 of the api level, and I couldn't understand Mitch's answer. I solved this by building a class to scan a single file:
import java.io.File; import android.content.Context; import android.media.MediaScannerConnection; import android.media.MediaScannerConnection.MediaScannerConnectionClient; import android.net.Uri; public class SingleMediaScanner implements MediaScannerConnectionClient { private MediaScannerConnection mMs; private File mFile; public SingleMediaScanner(Context context, File f) { mFile = f; mMs = new MediaScannerConnection(context, this); mMs.connect(); } @Override public void onMediaScannerConnected() { mMs.scanFile(mFile.getAbsolutePath(), null); } @Override public void onScanCompleted(String path, Uri uri) { mMs.disconnect(); } }
and you should use it so that MediaScannerConnection scans a single file:
new SingleMediaScanner(this, file);
Hope this helps.
Petrus Apr 28 '11 at 7:14 2011-04-28 07:14
source share