我实现photo basics请求相机动作和照片保存到我的数据目录光标装载机:创建数据目录
storage/emulated/0/Android/data/[package]/files/Pictures/[image name]
我现在希望能够检索所有的图像,然后我d喜欢使用CursorLoader来做到这一点。
此前,创造了所有外部媒体文件的CursorLoader会像这样:
String[] columns = new String[]{MediaStore.Images.Media._ID,
MediaStore.Images.Media.TITLE,
MediaStore.Images.Media.DATA,
MediaStore.Images.Media.SIZE,
MediaStore.Images.Media.DISPLAY_NAME,
MediaStore.Images.Media.DATE_MODIFIED};
return new CursorLoader(this,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
columns,
null,
null,
//Sort by descending date
MediaStore.Images.Media.DATE_MODIFIED + " DESC");
我想这样做,但也包括在我的私人数据文件夹中的图片。有没有办法解决?
我不知道如何检索该文件夹的内容URI(只有file://)。另一种解决方案是以某种方式使该文件夹对媒体扫描器可见,详细信息请参见照片基础中的“将照片添加到图库”一节。尽管如此,这似乎没有改变。
我刚刚重新启动检查解决方案1,我既不能在我的光标或画廊应用程序中看到图像。我不确定是否还有额外的工作要做,以便从应用数据文件夹中看到这些图像。我将图像添加到适配器,我希望避免像MatrixCursor这样的解决方案。如果是这种情况,我可能会考虑直接将项目添加到其他游标项目前的适配器 –
是的,您是对的。我忘了更改目标目录,我正在使用Environment.DIRECTORY_PICTURES。因此,您无法将这些图像提供给媒体提供商。我会更新我的答案。如果你使用CursorAdapter,那么我相信你应该使用MatrixCursor/MergeCursor解决方案,因为它不难实现。 – kws
'Environment.DIRECTORY_PICTURES'是否显示来自SD卡中所有文件夹的图片?最终,这是我的目标,如果这是很好的解决方案。如果您还没有回复,我会稍后再尝试并发表评论。 –