8

一段时间以来,我一直在检查将外部驱动器安装到 android 手机,即,如果我将外部驱动器(硬盘/闪存/相机)插入 android 设备,则 android 手机应该能够访问存储文件系统。

市场上有通过手机控制外部设备的应用程序。

我可以使用 USB 主机模式 { http://developer.android.com/guide/topics/connectivity/usb/index.html } 与 USB 设备进行通信。但 Android 3.1(API 级别 12)或更新的平台直接支持 USB 主机和附件模式。

而名为 DSLR Controller { https://play.google.com/store/apps/details?id=eu.chainfire.dslrcontroller&hl=en } 的应用程序需要 Android 2.1 或更高版本。由于该应用程序基于通过android手机访问相机。如果应用程序显示正确的信息,那么访问相机(或任何其他驱动器)存储的任务似乎是可能的。

但我也想在较低版本中使用该应用程序。任何形式的帮助将不胜感激。

请评论,如果需要更多的问题描述。

谢谢。

4

4 回答 4

4

您可以基于 Github 上的 FileManager 开源项目创建应用程序。您可以在此处指定以识别您的设备。您可以根据需要更改这些代码。这是链接Adroid-File-Manager

于 2012-10-29T10:45:52.963 回答
3

如果您只想能够访问 USB 存储设备(如闪存驱动器),您可以使用普通的 Java 方式(java.io.File等)打开文件。Android ICS 会自动将闪存驱动器挂载到 下/sdcard/usbStorage/,但我不确定以前的版本或其他类型的硬件。不过,它可能仍然有效,所以我建议您对其进行测试,看看会发生什么。

于 2012-11-03T03:45:54.657 回答
2

从应用描述来看,Android 2.x 设备需要root。这表明他们有一些 USB 主机代码的本机实现(可能是他们加载的预编译内核模块)。

因此,解决方案会根据其运行的特定硬件和软件(内核、供应商修改、皮肤)而有所不同。

于 2012-11-03T03:53:57.657 回答
2

完成此操作的唯一可靠方法是使用 12 以上的 API 级别,否则一些手机可能支持 USB 主机,但大多数不支持。原因首先你需要usb主机的硬件支持,即使存在所需的驱动程序也可能不会编译到内核中,我在尝试在nook color实现usb主机时做了一些工作,即使它有硬件支持,让 USB 主机正常工作花了将近 2 个月的时间和一个专门的应用程序。所以它不是你可以为每台设备做的事情。一些人可能会开箱即用地支持它,但即使是那些也需要 root 和更多的工作来安装驱动器等等。单反相机也以同样的方式来看待需求

- Android device with ARMv7-A or newer CPU architecture (most 1ghz+ devices)
- Not rooted: Android 3.1 or higher with USB host kernel+API support
- Rooted: Android 2.3.1 or higher with USB host kernel support

这些是唯一可以支持 USB 主机的设备。

于 2012-11-05T07:40:21.687 回答