Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Android应用程序在USB端口发送和接收数据_Android_Usb - Fatal编程技术网

通过Android应用程序在USB端口发送和接收数据

通过Android应用程序在USB端口发送和接收数据,android,usb,Android,Usb,我正在尝试构建一个android应用程序,它将从URL获取一些数据,并将其发送到我的android平板电脑的USB端口。USB端口连接到USB串行端口转换器 我无法确定您在USB端口上发送数据的位置。 经过大量的谷歌搜索,我找到了ADB等,但没有一个java库可以使用 有什么建议吗?这个答案是在2011年针对添加应用级USB主机API之前的Android历史版本提出的。当代读者应该看到关于现代安卓版本主机模式的许多其他问题 您需要将适当的usb串行设备驱动程序编译到内核中,或者作为模块加载到内核

我正在尝试构建一个android应用程序,它将从URL获取一些数据,并将其发送到我的android平板电脑的USB端口。USB端口连接到USB串行端口转换器

我无法确定您在USB端口上发送数据的位置。 经过大量的谷歌搜索,我找到了ADB等,但没有一个java库可以使用


有什么建议吗?

这个答案是在2011年针对添加应用级USB主机API之前的Android历史版本提出的。当代读者应该看到关于现代安卓版本主机模式的许多其他问题

您需要将适当的usb串行设备驱动程序编译到内核中,或者作为模块加载到内核中,然后手动创建/dev/ttyUSB0设备文件,或者使用自动创建该文件的工具

我们假设您的转换器插入一个工作的USB主机端口,该端口提供电源,并有一个主机模式驱动程序支持它

从本质上讲,这与在桌面linux上的工作方式相同,您可能希望在桌面linux上尝试转换器,以确定它使用的是哪个驱动程序

如果它在平板电脑上无法正常工作,则很可能需要将其根目录,以便加载驱动程序模块(或更改内核),在/dev中创建节点(文件),并设置权限,以便程序可以访问它

访问方法是打开设备文件,调用一些ioctl来配置它,然后读取和写入。打开和配置可能需要是jni本机代码(尽管您可能可以从java执行),然后您应该能够从java读写


另一个值得研究的选项是使用蓝牙串行适配器-这更独立于设备,可能不需要根。

感谢@chris提供详细的答案。我最终选择了Bluetooth串行适配器选项,因为我需要一些可以开箱即用且不需要更改内核的东西。安卓3.1已经发布了USB接口,但它支持平板电脑,而不是手机。这仍然是一种新的使用方式吗?我的意思是,如果我需要转换通过usb接收的电信号,它将是相同的?还是怎样