Añadir imágenes a la galería
Mi aplicación almacena imágenes en una carpeta privada /sdcard/Android/data/com.mypackage.myapp/files/. Quiero agregar esos cuadro a la galería. He intentado agregarlos al almacén de los medios pero crea una carpeta para cada carpeta que tengo en mi directorio privado. Quiero más control sobre el nombre / estructura de los álbumes. Creo que se supone que debo usar un proveedor de contenido para esto, pero no estoy seguro de qué hacer a continuación. El fragmento que utilizo es el siguiente:
ContentValues values = new ContentValues(4); long current = System.currentTimeMillis(); values.put(MediaStore.Images.Media.TITLE, file.getName()); values.put(MediaStore.Images.Media.DATE_ADDED, (int) (current / 1000)); values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpg"); values.put(MediaStore.Images.Media.DATA, file.getAbsolutePath()); ContentResolver contentResolver = context.getContentResolver(); Uri base = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; Uri newUri = contentResolver.insert(base, values); // Notify the media application on the device context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, newUri));
Esto funciona muy bien, pero no me da control sobre la estructura de carpetas. ¿Cómo puedo agregar mis imágenes a la galería con una estructura de carpetas diferente a la estructura de archivos como lo hace google con "picasa" (y cómo poner un icono personalizado para carpetas como el icono de picasa a continuación)
- ¿Cómo puedo actualizar MediaStore en Android?
- Android: cómo obtener una miniatura de vídeo de un archivo privado para su aplicación?
- Android Eclipse Consultar miniaturas de imágenes almacenadas fuera de la galería
- Cursor vacío del MediaStore
- Android MediaStore insertVideo
- Android: Actualizar la Galería después de guardar nuevas imágenes
- Listar todas las imágenes de la cámara en Android
- Mostrar imagen grande de la tarjeta SD en Android
- La columna MediaStore.MediaColumns.TITLE de MediaStore de Android es nula para algunos archivos
- Eliminar un archivo de contentResolver sólo eliminar la entrada de la base de datos (no archivo)
- Android: Cómo detectar un cambio en MediaStore cuando está conectado a través de MTP
- Contenido de Uri: // media / external / file no existe para algunos dispositivos
- Android: falla en la imagen de carga de Picasso. Cómo mostrar mensaje de error
¿Has probado a agregar el campo del artista:
values.put(MediaStore.Images.Media.ARTIST, "YourApp");
No estoy seguro de que pueda designar el icono, por lo que siempre será una carpeta. El soporte de Picasa está incorporado.
- Cómo cambiar el tipo de red preferido sobre adb android?
- Guardando colección extranjera en ORMLite con Robospice y Scala