2014-04-18 16 views
7

Le mie immagini memorizzano le applicazioni in una cartella privata /sdcard/Android/data/com.mypackage.myapp/files/. Voglio aggiungere quelle foto alla galleria. Ho provato ad aggiungerli al media store ma crea una cartella per ogni cartella che ho nella mia directory privata. Voglio più controllo sul nome/struttura degli album. Penso che dovrei usare un fornitore di contenuti per questo, ma non sono sicuro di cosa fare dopo. Il frammento che sto utilizzando è il seguente:Aggiunta di immagini alla galleria

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)); 

Questa grande opera, ma non mi dà il controllo sulla struttura delle cartelle. Come posso aggiungere le mie immagini alla galleria con una struttura di cartelle diversa dalla struttura di file come fa Google con "picasa" (e come mettere un'icona personalizzata per le cartelle, come l'icona picasa sotto)

enter image description here

+0

Sei ancora lì? –

risposta

0

hai provato aggiungendo il campo dell'artista:

values.put(MediaStore.Images.Media.ARTIST, "YourApp");

io non sono sicuro che è possibile designare l'icona, quindi sarà sempre una cartella. Il supporto Picasa è integrato.

Problemi correlati