我的应用程序要求使用手动将文件从PC复制到我的应用程序在其中创建的子目录中的SD卡(或者我将在根目录中查找)。到目前为止,这么好(大多数人没有问题,除非他们试图在手机仍然连接时运行我的应用程序,然后问为什么它告诉他们“SD卡未安装”:-))。
无论如何,我想知道三星Galaxy手机是如何工作的,因为我的理解是它们有一个外部和内部SD卡。我的应用程序当前调用“Environment.getExternalStorageDirectory()”;这会返回EXTERNAL卡的根吗?
此外,当用户将设备安装到他们的PC上时,它看起来像什么?他们是看到两个已安装的驱动器,还是仅将外部卡作为驱动器或其他内容?
答案 0 :(得分:8)
补充安迪的回答。我对三星Galaxy Tab的调查结果如下:
Environment.getExternalStorageDirectory()也返回内部存储器“/ sdcard /”。但是与Galaxy S不同,实际的SD卡出现在“/ sdcard / external_sd /".
当安装“外部”SD卡时,我可以在Windows中报告两个额外的驱动器,一个用于内部,一个用于外部SD卡。
答案 1 :(得分:0)
有趣的是,我现在正在使用三星Galaxy s而没有外部SD卡,并且使用Environment.getExternalStorageDirectory(),在内部SD卡(/ sdcard /)中返回一个位置,这很好。我想如果你也有外置SD卡,你可以选择使用文件夹/ sdcard / sd /把东西专门放在外部SD卡中。我想你必须看看是否存在该子文件夹以告知你是否可以把东西放在外部或者你只是内部。这篇文章还讨论了这一点:
http://androidforums.com/samsung-galaxy-s/176109-internal-external-sd-card.html
虽然这不是您提出的具体问题,但我认为这个问题的答案也可能会为您提供所需的信息:
Programmitically accessing internal storage (not SD card) on Verizon HTC Droid Incredible (Android)
关于设备在安装时的样子(即连接USB电缆并从通知中选择文件复制)并连接到PC,它只显示一个额外的驱动器,这是我的内部SD卡。我必须承认,我不知道如果该设备还有一个外部SD卡会发生什么,因为我没有人试过!
希望这有帮助! :)
安迪。