【发布时间】: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 图标)
【问题讨论】:
标签: android android-contentprovider mediastore