当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Android USB Host与HID 通讯(一)

Android USB Host与HID 通讯(一) 时间:2018-09-20      来源:未知

近有一个小项目,想要在平板电脑上实现U盘的自动挂载,并且读取到U盘的内容。所以花了一些时间,研究了Android中的USB Host与HID通讯,网上也有很多资料,挺有参考价值的,所以现在记录下来,以备后用。首先,我们了解一下USB的一点知识,通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,USB接口因具有标准统一,支持热插拔,支持即插即用,可连接多个设备等优点,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。

Android支持各种USB外围设备,通过两种模式来支持Android USB外设 (实现了 Android 外设协议的硬件):USB 外设模式和USB主机模式。USB 外设模式,外部 USB 硬件(装有Android的设备要连接的外部设备)充当 USB 主机。外设的例子包括机器人、扩展插座、诊断和音乐设备、电子报亭、读卡器等其他设备。这种模式给予不具备主机功能的 Android 设备以与USB硬件交互的能力。Android USB 外设必须设计用来与装有Android的设备一起工作,并且必须遵循Android 外设通讯协议。USB主机模式,装有 Android 的设备扮演着主机的角色。这种设备的例子包括数码像机,键盘,鼠标和游戏手柄。那些适应面很广的USB设备仍可以与Android应用交互,前提是这些Android应用可以正确的与这些设备通讯。

图1展示了两种模式的异同。当Android设备处于主机模式时,它扮演USB主机角色并为总线供电。当Android设备处于附件模式时,被连接的USB硬件(在这种情况下是一个Android USB附件)扮演主机角色并给总线供电。

配件模式下,配件必须遵守AOA协议(Android Open Accessory Protocol),它定义了配件如何检测并与Android设备建立通信等规范的。主机模式和配件模式在Android 3.1(API level 12)及更高的平台中直接支持。配件模式作为一个附加库也被Android 2.3.4(API level 10)支持。USB相关操作都集中在android.hardware.usb这个命名空间中。

USB Accessory Mode相关类

1.android.hardware.usb. UsbManager

此类可以获取USB的状态信息,并负责和USB配件进行通信。

UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);

2.android.hardware.usb.UsbAccessory

此类代表了一个USB配件,并且包含了获取配件特定信息的方法UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);

基础知识先介绍到,下一步我们再进行代码编写。

上一篇:浅谈计算机语言中的字词句段

下一篇:对Llinux下signal机制的一点认识

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部