gpt4 book ai didi

android - 如何在android中访问USB路径?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:01 24 4
gpt4 key购买 nike

我通过 USB 数据线连接了安卓设备和 PC。我的内部 SD 卡位置路径为 /mnt/sdcard。但是我的外部 USB 设备路径为 /mnt/userdata1。我尝试使用此代码仅查找内部 SD 卡路径 Environment.getExternalStorageDirectory()。我使用此代码仅在内部 SD 卡路径中访问。如何访问外部USB路径。

例如截图在这里... Example

本例包含Internal MemoryExternal SD cardUSB Storage。如何以编程方式找到此路径(Internal MemoryExternal SD cardUSB Storage)。在此代码中,Environment.getExternalStorageDirectory() 仅查看来自所有 Internal Memory 文件的文件。那么如何访问其他路径( External SD cardUSB Storage )

请用代码指导我。谢谢..

最佳答案

如果我没理解错的话,你所说的“外部”USB 路径实际上是你的 SD 卡在你电脑上的挂载点。您的 SD 卡很可能具有标签 userdata1。因此,当它挂载到计算机上时,它会获得 /mnt/userdata1 挂载点。然而,这并不是绝对必要的,它可以是任何挂载点。事实上,如果您将它连接到另一台计算机,它很容易成为另一个安装点。

因为这个路径是由电脑操作系统决定的,所以你需要在你的电脑上找到这个路径(注意,每次你将手机连接到电脑时,这个路径可能不同,所以你需要这样做每次)。

根据您的问题和路径结构 (/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)

请注意输出中的最后一行 - 这是我连接的 Android 手机,其 SD 卡已安装到计算机上。在 Mac 上,挂载点创建在 /Volumes 而不是 /mnt 下。除此之外,ALEKS540 是我的 SD 卡的标签,因此它是这样安装的。

在手机内部,它仍然安装为 /mnt/sdcard

从Android的角度来看,可能存在三种存储类型:

  1. 内部存储器它始终安装在设备上的 / 下,包含除下面的 SD 卡和 USB 存储之外的所有内容。
  2. SD 卡 - 这被称为“外部存储”,通常安装为 /mnt/sd,但并非总是如此。 Environment.getExternalStorageDirectory() 将返回 SD 卡挂载点的路径。
  3. USB 存储 - 这仅在极少数设备上受支持(那些支持外部存储的 USB 主机模式的设备)。这将安装在 /mnt 下的某处,但具体位置会有所不同。您将需要使用 Android NDK 来询问和迭代安装的设备以找到您想要的设备。

关于android - 如何在android中访问USB路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com