将图像添加到图库

Posted

技术标签:

【中文标题】将图像添加到图库【英文标题】:Adding images to the gallery 【发布时间】:2014-06-03 07:54:46 【问题描述】:

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

    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 图标)

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于将图像添加到图库的主要内容,如果未能解决你的问题,请参考以下文章

如何通过相机或图库动态添加图像?

在模拟器的图库中添加图像

捕获图像并动态添加到网格视图

Android将图像添加到数据库

如何将旋转按钮添加到 Android 图像裁剪屏幕?

如何从图库和相机中裁剪图像