我正在尝试为我的 android 手机(4.4.2、Slimkat 和 Cyanogen)注册一个自定义配件。我在版本 A5B 中使用 BeagleBoneBlack,运行内核版本为 3.8.13 的 Ubuntu 作为 USB 主机。我的配件被 android 设备识别,因为手机显示“已连接为媒体设备”,并且 udev 规则已在 Ubuntu 中正确设置。现在我想通过 libusb-1.0 API 注册附件。我按照本指南进行到第 11 步:http ://electronicdesign.com/embedded/develop-aoa-usb-accessories-android-based-systems 。详细我可以
- 在 ubuntu 上打开主机设备并获取文件句柄
- 声明接口发送设备信息(制造商、型号、描述、版本、uri 和序列号)
- 发送切换到附件模式的请求
- 重新分配设备句柄
- 回收设备
现在主机设备应该准备好与安卓设备通信了。但此时我手机上的消息
“没有安装的应用程序可与此 USB 附件一起使用。...”
弹出。
我的 android 应用程序中的 accessory-filter.xml 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<usb-accessory
manufacturer="\\@4"
model="\\@4"
product-id="\\@4"
vendor-id="\\@4"
version="\\@4" />
</resources>
我可以想象我的附件过滤器是错误的,但正如我在早期使用供应商特定附件的项目中记得的那样,我总是以这种方式使用它并且没有任何问题。还是其他地方的错误?预先感谢您对我们的支持!