我需要来自外部sdCard的DCIM文件夹路径(如果存在)。
我观察到此路径根据设备制造商("/storage/extSdCard", "/storage/SdCard", "mnt/storage/extSdCard", ...)
是否有任何Android api可以为我提供无论设备的路径?
答案 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;
}