我认为DCIM目录从未放置在内部存储器中(我的HTC Legend没有插入SD卡时甚至无法拍照)。Environment.DIRECTORY_DCIM变量仅是字符串"DCIM"参考。将图像存储在/DCIM中的原因是与读卡器(例如打印机)的兼容性,后者期望在/DCIM中提供图片,因此我认为在内部存储器上放置它没有意义。 不管怎样,在外部存储器(SD卡)上的文件夹可以这样访问:File rootsd = Environment.getExternalStorageDirectory(); File dcim = new File(rootsd.getAbsolutePath() + "/DCIM");
你可以 在这里 查看 或者,你可以将图片保存到SD卡上的任何路径 - 最好为你的应用程序创建一个目录。安卓媒体扫描器将会自动检测到你的文件并将其添加到库中。 如果需要立即得到结果,你可以使用此方法强制设备扫描该文件(不确定是否为推荐方法)
/mnt/sdcard2
)。如果我不插入外部SD卡,那么相机拍摄的照片/视频将保存在内部存储器中:/mnt/sdcard2/DCIM
。如果我插入SD卡(它被挂载到/mnt/sdcard
),那么相机数据将保存到SD卡中:/mnt/sdcard/DCIM
。但在这两种情况下,getExternalStorageDirectory
返回/mnt/sdcard
。 - Yura Shinkarev