将图像添加到图库

时间:2014-04-18 18:50:33

标签: android android-contentprovider mediastore

我的应用程序将图像存储在私人文件夹/sdcard/Android/data/com.mypackage.myapp/files/中。我想将这些图片添加到图库中。我尝试将它们添加到媒体商店,但它为我在私人目录中的每个文件夹创建了一个文件夹。我希望更多地控制相册的名称/结构。我想我应该为此使用内容提供商,但我不确定下一步该怎么做。我使用的代码如下:

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

这很好但不能让我控制文件夹结构。如何将我的图像添加到图库中,文件夹结构与文件结构不同,例如google与" picasa" (以及如何为文件夹添加自定义图标,如下面的picasa图标)

enter image description here

1 个答案:

答案 0 :(得分:0)

您是否尝试添加艺术家字段:

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

我不确定您是否可以指定图标,因此它始终是一个文件夹。内置Picasa支持。