将图像添加到图库
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 支持。
【讨论】:
以上是关于将图像添加到图库的主要内容,如果未能解决你的问题,请参考以下文章