Android应用程序,与插入USB端口的设备进行通信

我正在考虑一个Android应用程序(可能有一个附带的物理设备),我试图弄清楚这是否可行。

1)比方说,我把我的Android插入到我的电脑。 PC上安装的应用程序是否可以与手机中运行的应用程序进行通信? 我只需要一个非常简单的数据交换,它甚至可以是单向的(只是数据从手机推送到PC上的监听应用程序,只要手机需要,我不需要从PC发送到手机的任何数据)。

当我插入,手机给我4个选项(充电,磁盘驱动器,HTC同步,共享),这让我觉得这是不可行的,但仍值得拍摄。

2)个人电脑上的应用程序可以通过任何其他方式与电话上的应用程序通话吗? (无线networking,蓝牙等)。 我猜测没有Wi-Fi,因为双方都没有对方的IP(我想这只是工作,而不必手动inputIP的所有时间)。

3)如果我把一个设备连接到手机底部的小USB端口(假设这是一个可以做任何事情的魔法设备,只要可行,我不太在意这些细节)。 我可以有一个Android应用程序谈谈该设备?

4)任何其他的想法,使电话与我所做的“设备”,或PC中的应用程序交谈,都是值得欢迎的。 通过networking去“可能是一个select(虽然必须有一个中央服务器,我作为中间人拥有,我相信)。 但是,如果两台设备之间的通讯是直接的,我更喜欢。

自这个问题问世以来,世界已经发生了变化,现在的答案是Android Open Accessory Development Kit 。 它不会解决现有USB设备的问题,但可以创build可以使用Android设备的USB连接的新设备。

Android设备和PC之间的通信是可能的一种方式。

通过USB通过ADB连接。

  1. 转发端口。
  2. 服务器套接字JAVA程序。
  3. 客户端套接字Android应用

通过这个应用程序可以与我们在PC上运行的JAVA程序进行通信。

http://www.anothem.net/archives/2010/10/15/android-usb-connection-to-pc/

编辑:请注意,这个答案早于Android USB主机和附件API的可用性,并且在写入之后发布的许多设备中都有支持。

如果你打开电话上的USBdebugging,并从PC上的SDK(开源)adb工具派生出来的东西,他们可以沟通。 电脑将不得不开始通信,但在会议内,它可以是主要双向甚至大多数从设备到个人电脑。 请参阅developer.android.com关于adb shell和端口转发。 根不是必需的。

人们正在使用蓝牙与Arduinoembedded式控制器进行通话。

在root下,我的手机充当了USB主机,但是由于usb被占用,我不得不使用wifi来获得debuggingshell。

有些手机在extusb连接器或audio线上有一个低电压串行端口,但是需要使用根和电平转换器。

我一直在想的另一个想法是,在耳机插孔上做一个软件调制解调器,显然是由日本的某个人在android和iphone上完成的。 这不应该需要根。

对于通过USB / WLAN通信看看这个项目: http : //code.google.com/p/android-notifier/