Tenemos una aplicación que descarga imágenes y las almacena en el dispositivo. La imagen se almacena, pero no podemos ver la carpeta de nuestra aplicación cuando abrimos la galería. Aquí está el código que usamos para crear el directorio:

public File getDataFolder(Context context) {
    File dataDir = null;
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
        dataDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + File.separator + "MYAPPNAME");

        if(!dataDir.isDirectory()) {
            dataDir.mkdirs();
        }
    }
    if(!dataDir.isDirectory()) {
        dataDir = context.getFilesDir();
    }

    return dataDir;
}

También hemos notado que Folder es visible en Jelly bean pero no en los dispositivos KitKat +. ¿Por qué no está visible en la galería? (los archivos tienen formato .jpg)

1
unitedartinc 26 ene. 2016 a las 19:29

3 respuestas

La mejor respuesta

¿Ha intentado utilizar getExternalFilesDirs ()?

Utilice getExternalFilesDirs () (tenga en cuenta el plural). Si eso devuelve más de una entrada, la segunda y las siguientes están en un medio extraíble. Esos directorios en los que puede leer y escribir sin ningún permiso en Android 4.4.

De esta respuesta https://stackoverflow.com/a/26006099/5837758.

EDITAR

Si la carpeta aparece después de reiniciar, debe agregar su imagen a la galería. Del tutorial Cómo tomar fotos de forma sencilla (http://developer.android.com/training/camera /photobasics.html):

private void galleryAddPic() {
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(mCurrentPhotoPath);
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);
}
1
Community 23 may. 2017 a las 10:27

Antes de Android Kitkat, las aplicaciones de terceros tenían acceso al almacenamiento externo, pero de Kitkat, este permiso está revocado. Ahora puede almacenar datos solo en la memoria interna del dispositivo.

0
TeChNo_DeViL 26 ene. 2016 a las 16:35

Debe activar el escáner de medios en su nuevo archivo cuando ese archivo esté visible en la Galería sin reiniciar. Llame al explorador de medios después de guardar el archivo.

Solo unas pocas líneas de código servirán. El código se ha publicado con mucha frecuencia en este sitio.

1
greenapps 27 ene. 2016 a las 14:56