2014-04-18 20 views
7

Meine Anwendung speichert Bilder in einem privaten Ordner /sdcard/Android/data/com.mypackage.myapp/files/. Ich möchte dieses Bild der Galerie hinzufügen. Ich habe versucht, sie dem Medienspeicher hinzuzufügen, aber es erstellt einen Ordner für jeden Ordner, den ich in meinem privaten Verzeichnis habe. Ich möchte mehr Kontrolle über den Namen/die Struktur der Alben haben. Ich denke, ich sollte einen Content-Provider dafür verwenden, aber ich bin mir nicht sicher, was ich als nächstes tun soll. Das Snippet, das ich benutze, ist das folgende:Hinzufügen von Bildern zur Galerie

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

Das funktioniert gut, aber gibt mir keine Kontrolle über die Ordnerstruktur. Wie kann ich meine Bilder in die Galerie mit einer Ordnerstruktur unterscheidet sich von der Dateistruktur wie Google mit „picasa“ add (und wie ein benutzerdefiniertes Symbol für Ordner wie das Picasa-Symbol unten setzen)

enter image description here

+0

Sind Sie immer noch dort? –

Antwort

0

Haben Sie versucht, den Künstler Feld hinzufügen:

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

ich bin nicht sicher, dass Sie das Symbol bezeichnen kann, so wird es immer ein Ordner sein. Der Picasa-Support ist integriert.

Verwandte Themen