Android外部sdCard DCIM文件夹路径

时间:2014-11-05 06:33:10

标签: android path android-sdcard

我需要来自外部sdCard的DCIM文件夹路径(如果存在)。 我观察到此路径根据设备制造商("/storage/extSdCard", "/storage/SdCard", "mnt/storage/extSdCard", ...)

而变化

是否有任何Android api可以为我提供无论设备的路径?

3 个答案:

答案 0 :(得分:4)

尝试

String m_path = Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_DCIM).getAbsolutePath();

有关存储文件结构的更多详细信息,请查看我的Blog

答案 1 :(得分:1)

使用Samsung设备遇到相同的问题。 使用Google Photos App,我可以识别SD卡存储的真实位置:“ / storage / 837D-10EB / DCIM”,而不是环境框架提供的字符串“ / storage / emulated / 0” / DCIM”。我不知道这是三星的“问题”还是与Android设置有关。无论如何,最好知道是否还有找到SD卡相机存储的替代方法。我知道必须有一张,因为Google相册应用程序还能毫无问题地找到这些照片。

答案 2 :(得分:0)

答案在API指南中:http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

基本步骤是: 1.检查存储状态(如果存在) 2.获取存储路径 3.在您想要的目录中更进一步 4.制作文件夹,阅读文件,写文件等。这部分由您自己决定。

这取自文档:

public File getAlbumStorageDir(String albumName) {
    // Get the directory for the user's public pictures directory.
    File file = new File(Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES), albumName);
    if (!file.mkdirs()) {
        Log.e(LOG_TAG, "Directory not created");
    }
    return file;
}