Я понял, что, возможно, вы искали решение, которое будет работать до уровня API 8, и я не мог понять ответ Митча. Я решил это, создав класс для сканирования одного файла:
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();
}
}
и вы будете использовать его следующим образом, чтобы MediaScannerConnection
сканировал один файл:
new SingleMediaScanner(this, file);