zoukankan      html  css  js  c++  java
  • Android USB Host使用详解


    http://blog.csdn.net/glouds/article/details/40260805


    =================


    首先说一下为什么要写关于Android USB Host通信的介绍,对于android程序原来说不懂硬件做USB通信确实开头比较难,但是Google API介绍还是很详细的,而且网上也有很多例子,不过网上的基本把介绍和例子分开,光介绍不给例子,给个例子又不知道它是干什么的或者运行不了。那么我把自己通过阅读别人的博客和USB通信协议等来做下面的介绍,并给出一个通用的例子。

    Android USB Host分以下三部份介绍:

    (一)参考官方文档,查看USB设备信息。

    (二)USB Host 相关API简介。

    (三)给出一个U盘操作的例子。

    Android USB Host使用详解之一:查看USB设备信息

    首先来看一下Google的官方文档中关于Android USB的介绍:Android USB Host and Accessory

    Android USB有两种模式Host  Mode和Accessory Mode:

    在Host Mode下,Android手机作为主设备,如通过OTG线连接的HID设备或者U盘为从设备;在Accessory Mode下,Android手机作为从设备,如通过USB数据线连接的电脑为主设备。

    本文主要介绍在Host Mode下,Android手机与USB设备之间的通信。Android USB Host的介绍可参见Google 官方文档:Android USB Host介绍

    关于Android USB相关类的介绍留在下面慢慢展开,先编写一个Android程序:

    1)在AndroidManifest.xml文件中添加

           <uses-feature android:name="android.hardware.usb.host" />  


    2)在<activity ...>添加

    1. <intent-filter>  
    2.      <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />  
    3. </intent-filter>  
    4. <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"  
    5.      android:resource="@xml/device_filter" />  
    在res/xml文件夹下新建device_filter.xml
    1. <resources>  
    2.     <usb-device vendor-id="3544" product-id="8199" />  
    3.     <usb-device vendor-id="5251" product-id="4608" />  
    4. </resources>  
     其中vendor-id和product-id为插入USB设备的生产厂家号和产品号,在 插入(attached)上面列出的设备之一时,就会弹出选择打开应用程序的对话框。

    注:上面的id为10进制的,而通过电脑上查看的id为16进制的















  • 相关阅读:
    My first blog!
    Elasticsearch安装 + Head插件安装 + Bigdesk插件安装
    泛型-反射-注解
    JFinal自定义FreeMarker标签
    Hadoop集群中节点角色定义
    HBase
    MapReduce
    HDFS
    Hadoop基本概念
    HTTP浅析
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11744452.html
Copyright © 2011-2022 走看看