Force escanear archivos después de tomar una foto
on api nivel 4 (android 1.6), después de tomar una foto usando:
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
File photo = new File(Environment.getExternalStorageDirectory(), "NewPic.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
imageUri = Uri.fromFile(photo);
startActivityForResult(intent, TAKE_PICTURE);
Me gustaría ver todas las miniaturas de mis fotos, pero no hay mi última miniatura. Funciona perfectamente en Android 2.1.
Si conecto el dispositivo mediante USB a la PC y luego aparece el archivo de desconexión, después de terminar de escanear. Entonces, ¿cómo debo comenzar esa indexación?
Lo intent
mScanner = new MediaScannerConnection(getApplicationContext(), this);
mScanner.connect();
mScanner.scanFile(imageUri.getEncodedPath(), "*/*");
Y termina con esto:
02-24 17:13:54.678: DEBUG/MediaScannerService(1320): IMediaScannerService.scanFile: /sdcard/NewPic2222.jpg mimeType: */*
02-24 17:13:54.688: VERBOSE/MediaProvider(1320): /sdcard volume ID: 1149784819
02-24 17:13:54.688: VERBOSE/MediaProvider(1320): key exists
EDITED TARDE
Tengo algo así en otra actividad
mCursorThumbnails = MediaStore.Images.Thumbnails.queryMiniThumbnails(mContentResolver, MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, MediaStore.Images.Thumbnails.MINI_KIND, projection);
mCursorImages = MediaStore.Images.Media.query(mContentResolver, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection);
Cuando verifico el recuento del primer valor, tengo 13 elementos, y en el segundo tengo 14. Por lo tanto, la imagen se ha agregado al escáner de medios, pero el sistema operativo no ha generado una miniatura para ello. Entonces, ¿cómo debo pedirle al sistema operativo que cree uno?