使用Android手机作为USB主机将外部驱动器安装到手机并通过手机访问外部驱动器的内存

时间:2012-10-26 05:27:05

标签: android usb-otg

我已经检查了一段时间将外部驱动器安装到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 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

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

因此,解决方案因其运行的特定硬件和软件(内核,供应商修改,皮肤)而异。

答案 3 :(得分:2)

完成此任务的唯一可靠方法是使用12级以上的API级别,否则一些手机可能支持USB主机但其中大部分都不支持它。 原因首先是你需要USB主机的硬件支持,即使它存在所需的驱动程序可能没有编译到内核中,我尝试在nook颜色上实现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主机的设备。