我的应用程序用于我的工作以进行销售。
此应用可自行远程更新(不使用Google Play),更新数据,发送信息等......
在某些时候,该应用程序会读取大量图像目录(几百MB)。为避免下载此数据,每台设备都包含带有所有图像的micro SD卡。
要读取SD卡中的图像,请使用" Environment.getExternalStorageDirectory()"。直到今天一切正常。
然而,新设备 GalaxyTab 7 Plus ,它们是非常酷的机器,但当我使用" Environment.getExternalStorageDirectory()"我得到了内部SD 路径。平板电脑识别外部SD卡(" extSdCard ")但我不知道如何访问它。
我尝试使用" vold.fstab "文件(关于这个问题的回答How could i get the correct external storage on Samsung and all other devices?)但我不太信任......我的意思是......这件事有效吗?我从带有android 3.0的GalaxyTab 10和带有android 4.0的GalaxyTab 7 Plus检查了vold.fstab,它们非常不同......
简而言之: 我总是希望获得外部SD卡路径,如果不存在,则获取内部SD卡路径(如果存在)。我不能这样做,因为当我使用" Environment.getExternalStorageDirectory()"
时,java不允许我在它之间做出选择。谢谢!
答案 0 :(得分:1)
Android SDK至少通过4.1,不支持多点外部存储的概念。因此,从目录角度来看,没有记录和支持的方法可以访问此辅助卡。
该卡的内容可以由MediaStore
通过设备制造商添加的专有扩展程序编制索引。我尝试过的每个具有外部SD卡的设备都可以执行此操作。因此,如果有一种方法可以以某种方式调整逻辑,而不用担心文件的位置,而是通过MediaStore
找到它们,这应该适用于各种设备。
除此之外,根据你所链接的问题的一些答案,你会被猜测游戏困扰。