Android中的USB中的UsbAccessory和UsbDevice的区别

转载 2013年12月02日 10:51:30

UsbAccessory和UsbDevice的区别

  • UsbDevice:正常的,USB的Host和USB的Device架构中的USB的Device
    • Android设备是USB的Host,外接的USB设备是USB的Device
      • 所以,此时Android设备作为USB的Host,要做USB Host该干的事情:
        • 给USB外接设备供电
        • 负责管理USB总线
  • UsbAccessory:和标准的USB的概念相反
    • USB设备是USB的Host
      • 所以,此时USB设备,也要干其作为USB的Host的事情
        • USB设备,要给作为USB的Device的Android设备供电
        • USB设备要负责管理USB总线
    • 而Android设备是USB的Device
      • 此时,从概念上说,相当于把Android设备,当做Accessory附件,挂在USB设备上

Android 3.1多了哪些类


   对于Android 3.1来说代号仍然为honeycomb,新增功能还是不少的,API Level升到了12。除了这个ADK中的部分特性外,下面一起看看前几天提到的android.hardware.usb这个Package,由于 Google将拉拢硬件厂商制造出千奇百怪的USB附加配件所以提出了ADK这样的概念,可以查看 Android ADK硬件开发包介绍 ,目前来说USB的管理有了不小的增强。

    一、 android.hardware.usb.UsbAccessory 本类是针对Open Accessory API 设计的。

  二、 android.hardware.usb.UsbConstants 作为USB常量定义,在Linux内核文件 linux/usb/ch9.h 中。

  三、 android.hardware.usb.UsbDevice 获取USB设备的信息,比如说类型、制造商等等,很有用的。

  四、android.hardware.usb.UsbDeviceConnection 这个是USB设备传输控制的核心,对于Android USB硬件附件开发者来说必须掌握。不过还是比较简单的。

  五、 android.hardware.usb.UsbEndpoint 获取一个USB终端信息

  六、android.hardware.usb.UsbInterface USB底层接口,获取一些信息底层信息,比如说通讯协议,等等。

  七、android.hardware.usb.UsbManager USB管理类,实例化方法和Android大多数系统Manager一样,通过类似 UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); 的方式获取系统底层AIDL服务的一个实例,本类是一个全局USB类,比较重要。

  八、android.hardware.usb.UsbRequest 核心的USB请求处理类,支持读写操作,以字节数组方式处理一个UsbEndpoint,Android123提示这个类类似WinCE串口通讯的 CreateFile部分,可以进行数据流的读写。




相关文章推荐

Android USB Host开发之manager.getDeviceList()获取不到设备列表

同样遇到这样的问题,我的Android设备是原道N12C,官方的4.0.3系统,遇到这个问题,后来找了半天找到的,现在汇总一下。...

Android API 翻译之 UsbDevice

public class UsbDeviceextends Object implements Parcelablejava.lang.Object →android.hardware.UsbDe...

深度解决 SecurityException: User has not given permission to device UsbDevice

深度解决 SecurityException: User has not given permission to device UsbDevice在Android上直接使用USB端口会出现如题权限相关...
  • kangear
  • kangear
  • 2016年07月07日 21:13
  • 3380

android usb解析(一)UsbDeviceManager(and5.1)

先来理下整个usb的架构,用户从UsbManager调用接口,会binder通信到UsbService。而UsbService又有两个实例,一个  UsbHostManager,一个UsbDevi...

Android 下的usb框架及功能点

有关USB android框架的链接 http://blog.sina.com.cn/s/articlelist_1627432177_0_1.html ICS4.0下Framework层...

Android Service创建USB HOST通信

之前做了一个关于Android USB通信的Case,通过Android的USB总线给Zigbee供电,和板载的Zigbee(基于Zigbee的自组网)进行通信。要使用Android的USB Host...

【整理】Android中的USB中的UsbAccessory和UsbDevice的区别

【背景】 之前折腾android中的USB相关的东西。 遇到两个东西: UsbAccessory和UsbDevice 但是,不是完全明白其中区别。 所以去找找区别。 ...

rk3188/3288 android 5.x UsbDevice 获取 UsbInterface问题

问题描述: 假如我有两个USB设备 A和B, 先接入A, 再接入B, 会发现, 获取设备A的 UsbInterface的时候, 是空的, 单接A 或 B都是可以正常工作的. 解决过程: ...

条码扫描枪区别键盘和USB输入

  • 2012年03月15日 13:14
  • 311KB
  • 下载

UsbAccessory

最近搞的开发慢慢接近底层了,各种usb打印机,usb串口通信,蓝牙通信,搞得头挺晕,不过也学到了挺多,今天抽点时间总结下。 UsbAccessory 使用帮助类 //User must modif...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中的USB中的UsbAccessory和UsbDevice的区别
举报原因:
原因补充:

(最多只允许输入30个字)