我通过USB线连接Android设备和PC.我的内部SD卡位置路径为/mnt/sdcard.但我的外部USB设备路径为/mnt/userdata1.我尝试使用此代码仅查找内部SD卡路径Environment.getExternalStorageDirectory().我使用此代码仅在内部SD卡路径中访问.如何访问外部USB路径.
例如,屏幕截图在这里...
示例
在此示例中包含Internal Memory,External SD card和USB Storage.如何找到这条路径(Internal Memory,External SD card和USB Storage)编程.在此代码中,Environment.getExternalStorageDirectory()仅查看所有Internal Memory文件中的文件.那么如何访问其他路径(External SD card和USB Storage)
请指导我的代码.谢谢..
如果我理解正确的话,您所说的“外部”USB 路径实际上是计算机上 SD 卡的安装点。您的 SD 卡很可能有标签userdata1。因此,当它安装在计算机上时,它会获得/mnt/userdata1安装点。然而,这并不是绝对必要的,它可以是任何安装点。事实上,如果您将其连接到另一台计算机,它很容易成为另一个安装点。
由于该路径是由计算机操作系统决定的,因此您需要在计算机上找到该路径(请注意,每次将手机连接到 PC 时,该路径都可能不同,因此每次都需要执行此操作) 。
从你的问题和路径结构(/mnt/userdata1)我猜你正在使用linux或其他一些unix版本。因此,您可以在 PC 上运行mount来查看已安装设备的列表。例如,这是我的 mac 上的输出:
$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk1s1 on /Volumes/ALEKS540 (msdos, local, nodev, nosuid, noowners)
Run Code Online (Sandbox Code Playgroud)
请注意输出中的最后一行 - 这是我连接的 Android 手机,并将 SD 卡安装到计算机上。在 Mac 上,挂载点是在/Volumes而不是在 下创建的/mnt。另外,ALEKS540是我的SD卡的标签,因此它是这样安装的。
在手机内部,它仍然安装为/mnt/sdcard.
从Android的角度来看,可能存在三种存储类型:
/在设备下方,包含除下面的 SD 卡和 USB 存储之外的所有内容。/mnt/sd,但并非总是如此。 Environment.getExternalStorageDirectory()将返回SD卡挂载点的路径。/mnt,但确切位置会有所不同。您将需要使用 Android NDK 来询问和迭代已安装的设备以找到您想要的设备。| 归档时间: |
|
| 查看次数: |
34781 次 |
| 最近记录: |