繁体   English   中英

三星Galaxy Note上getExternalStoragePublicDirectory的路径

[英]Path of getExternalStoragePublicDirectory on Samsung Galaxy Note

在我的应用程序中,我正在创建存储在设备下载目录中的文件。 我的所有用户都对这种机制感到满意......除了那些使用三星Galaxy Note的用户。

没有拥有这样的设备就很难调试。 在我的代码中,我正在使用

File newFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),
            "file01");
    if (newFile.exists()) {
        // show error
    } else {
        if (!newFile.mkdirs()) {
            // show error
        }
    }

找到目标目录的路径。 在Galaxy Note上,返回的路径是“/ storage / sdcard0 / Download”。 但是,在本地文件系统目录中以小写(“下载”)编写,并且我的应用程序创建的文件显然不存在于本地文件目录中。 至少我的用户抱怨这个。 我假设问题与路径中的小写/大写差异有关。

有没有人知道为什么它适用于除Galaxy Note之外的所有设备?

谢谢!

无法保证getExternalStoragePublicDirectory()返回的位置确实存在。 您的可能是第一个需要这些目录中特定目录的应用程序。 因此,你的工作就是在所有设备上调用mkdirs() ,而不仅仅是这个。

除此之外,至于为什么其他人(三星或其他第三方应用程序)正在创建一个小写download目录,确定“为什么”的唯一方法是弄清楚谁创建了该目录,然后联系该开发人员。 这不太可能是值得的投资。

只要你调用mkdirs()来创建Download ,任何其他可能存在的目录都不是你真正关心的问题。 如果你想检测这样的可能碰撞,并警告用户,你可以这样做,虽然我不知道这是否值得。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM