van una samsung recuperar reciclaje pasar papelera ocultar mis las google galeria fotos esta eliminadas donde como celular borradas android android-intent gallery photo face-detection

samsung - ¿Cómo puedo actualizar la Galería de Android después de una foto?



google fotos (1)

Para la universidad, tengo que desarrollar una aplicación en Android con las detecciones faciales. Para esto tengo que guardar varias fotos en mi galería. El problema es que después de guardar la foto, la galería no se actualiza. Más precisamente, si borro el directorio donde voy a guardar la imagen, abro la aplicación y disparo la foto, luego voy a la galería y después de una "actualización" veo la foto. Pero una vez que tengo el directorio, si tomo una nueva foto, esto no sobrescribe el anterior.

En línea, he encontrado esto:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://" + Environment.getExternalStorageDirectory())));

... pero no funciona!

Este es mi código:

. . . ImageButton buttonPicture = (ImageButton) findViewById(R.id.camera_surface_button); buttonPicture.setOnClickListener(new OnClickListener(){ public void onClick(View v) { mCamera.takePicture(null, null, jpegCallback); //File file = new File(savedPath, "ing.jpg"); sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://" + Environment.getExternalStorageDirectory()))); } }); . . . . PictureCallback jpegCallback = new PictureCallback() { public void onPictureTaken(byte[] _data, Camera _camera) { imagesFolder = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "/TTRprova"); imagesFolder.mkdirs(); String fileName = "image3.jpg"; File output = new File(imagesFolder, fileName); textView1.setText("-----Sono nella callback-----"); Uri outputFileUri = Uri.fromFile(output); String filePath = outputFileUri.getPath(); File file= new File(filePath); try { FileOutputStream fos = new FileOutputStream(file, true); fos.write(_data); fos.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block textView1.setText("-----FileNotFoundException-----"); e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block textView1.setText("-----IOException-----"); e.printStackTrace(); } //riparte la preview della camera //mCamera.startPreview(); } };

Espero en tu ayuda. Adiós


Puede forzar al MediaScanner a agregar un archivo específico (o dejarle saber que fue eliminado o modificado)

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(myNewFile)));