【问题标题】:Android send/receive bytes from headphone/usb jack?Android 从耳机/USB 插孔发送/接收字节?
【发布时间】:2012-04-26 17:37:19
【问题描述】:
简单的问题,有没有办法从安卓手机的耳机插孔读取字节/数据?我知道 HTC 制作了一个应用程序,可以让耳机充当天线并以这种方式获取收音机,但我必须为此使用本机 C++ 还是什么?我想要做的是在耳机插孔上连接一个双掷开关,我希望我的手机检测开关是否被按下。有什么办法做到这一点???我可以说这不是一件容易的事,但我可能经历过更糟糕的事情。
编辑:即使是 USB 插孔,我也不介意。我只是想在我的手机上连接一个开关并使用一个程序来检测它是打开还是关闭
【问题讨论】:
标签:
java
android
c++
headphones
【解决方案1】:
您将无法通过耳机插孔向设备发送数据。将耳机用作天线是不同的。它实际上并没有将数据传输到手机中,它使用电线作为内部天线的延伸(连接到手机内部的接收器,生成“数据”)
不过,您应该可以使用 USB 为您的设备进行操作,您应该在任何时候将数据从手机外部传输到 USB 时,您应该专注于 USB,尽管您也可以使用 IR 广播器/蓝牙广播器来做到这一点设置而不是有线开关。
【解决方案2】:
由于耳机插孔通常包含一个麦克风触点以支持耳机,因此您可以使用数字/模拟/数字转换来传输数据。 (这就是使用像Square 这样的耳机插孔的硬件扩展可能工作的方式。
但是对于像您描述的开关,我会选择蓝牙(它可以像代码中的简单串行连接一样;但您需要一些自定义但不是非常复杂的硬件)或尝试Arduino for Android,即专为这个用例设计并使用 USB(但我没有个人经验)。
在任何情况下都不需要 C++ 或原生,一切都可以通过 Java API 获得。