2011-02-25 518 views

回答

7

我认为DCIM目录永远不会在内部存储器上(我的HTC Legend甚至不会在没有sd卡的情况下拍摄照片)。 Environment.DIRECTORY_DCIM变量只是字符串“DCIM”ref

在/ DCIM中存储图像的原因是与期望图片在/ DCIM中可用的读卡器(例如打印机)兼容,所以我认为在内部存储上使用它是没有意义的。

反正在外部存储(SD卡)的文件夹可以这样访问:

File rootsd = Environment.getExternalStorageDirectory(); 
File dcim = new File(rootsd.getAbsolutePath() + "/DCIM"); 
+0

我有设备中兴880E(4.0.4)。它有内部存储('/ mnt/sdcard2')。如果我不插入外部SD卡,则相机中的照片/电影将保存到内部存储:'/ mnt/sdcard2/DCIM'。如果我插入SD卡(它挂载到'/ mnt/sdcard'),则将相机数据保存到sdcard:'/ mnt/sdcard/DCIM'。但在这两种情况下'getExternalStorageDirectory'都返回/ mnt/sdcard。 – 2013-09-25 00:20:29

0

你可以看看here

或者,您可以将图片保存到的任何路径SD卡 - 最好为您的应用程序创建一个目录。 android中的媒体扫描器会提取您的文件并将其自动添加到库中。

您可以强制设备扫描立竿见影的效果文件与this(不知道如果多数民众赞成推荐的方法)