如何知道存储图像的SD卡在哪里,DCIM /相机,DCIM / 100MEDIA?

时间:2011-12-23 23:23:49

标签: android compatibility save copying

我的应用程序中有一个方法可以检索DCIM/Camera文件夹中最后保存的图像,并将其复制到SD卡上的其他位置。我刚刚在另一部手机上测试了它,发现默认保存为DCIM/100MEDIA。我怎么能得到这条路呢?

我最后编写了一些代码,这些代码循环遍历DCIM文件夹中的所有文件夹并检索lastModified()文件夹的路径。

2 个答案:

答案 0 :(得分:5)

看起来它取决于制造商。除了使用书中描述的方法之外,似乎还允许用户选择/覆盖默认“发现”将是一个重要的选项。

来自Pro Android 3:p 579

  

很遗憾,没有方法调用来告诉您在DCIM目录下可能使用哪个目录   图片。虽然有几种方法可以告诉你哪里   SD卡的顶部是。首先是   Environment.getExternalStorageDirectory()并返回File个对象   用于SD卡的顶级目录。

有关完整页面文字,请参阅以下Google图书链接: http://books.google.com/books?id=RuN0jb4YASwC&pg=PA579&lpg=PA579

  • 其他参考文献:

Do all Android phones with a built-in camera use a folder called "DCIM" to store captured images?

http://androidforums.com/android-lounge/5930-definitive-androids-folder-structure.html#post239353

答案 1 :(得分:0)

也许这可以帮到你:

File picDir;            
if (Build.VERSION.SDK_INT > 7)
    picDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
else
    picDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "Pictures/");

希望这可以提供帮助。基于this