***************==
首先說一下為什麼要寫關於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介紹
1)在androidmanifest.xml檔案中新增
<
uses-feature
android:name="android.hardware.usb.host"
/>
2)在新增
[html]view plain
copy
<
intent-filter
>
<
action
android:name="android.hardware.usb.action.usb_device_attached"
/>
intent-filter
>
<
meta-data
android:name="android.hardware.usb.action.usb_device_attached"
android:resource="@xml/device_filter"
/>
在res/xml資料夾下新建device_filter.xml[html]view plain
copy
<
resources
>
<
usb-device
vendor-id="3544"
product-id="8199"
/>
<
usb-device
vendor-id="5251"
product-id="4608"
/>
resources
>
其中vendor-id和product-id為插入usb裝置的生產廠家號和產品號,在 插入(attached)上面列出的裝置之一時,就會彈出選擇開啟應用程式的對話方塊。
注:上面的id為10進製的,而通過電腦上檢視的id為16進製制的。
有關Android Usb Host開發
最近有個專案是關於android應用與hid通過使用usb host模式通訊。由於以前沒做過usb方面的開發,而且看見網上在這方面的資料也很少,所以就發一篇博文和大家共享經驗。回歸正題,在android usb host 開發中,對於發現裝置 如何連線裝置等等的都在官方api中說的清清楚楚了,我也不...
VMware License Server使用經驗
近期在測試vmware server,在使用vmware license server的時候碰到一些問題,經過兩天的實驗,問題得以解決,現記錄如下,以供朋友們參考。1 複製license檔案 在安裝vmware virtualcenter的時候,會一同安裝license server伺服器。如果你在...
Django Rest framework使用例項
一 修改配置檔案 setting.py django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.messages django.contri...