最終更新:2021-10-17 (日) 19:55:44 (914d)  

Android/USB Host API
Top / Android / USB Host API

Android 3.1以降

http://developer.android.com/guide/topics/connectivity/usb/host.html

http://www.techdoctranslator.com/android/guide/usb/host

スライド

イチからはじめるUSB Host API from ksk sue
USB Host APIで遊んでみた from Makoto Yamazaki

ADKとの違い

  • ADKはボード側がホスト
  • Host APIはAndroid側がホスト

概要

  • アプリが直接USBデバイスを制御するためのAPI
  • JavaのAPIを使ってUSBデバイスのドライバが書ける
  • OSが対応しているデバイスは扱えない

デバイスの制御方法

  • 事前にデバイス情報をAndroidManifest.xmlmeta-dataに記述しておき、接続と同時にデバイスを認識する方法。
  • UsbManagerを使って一定時間おきにデバイス情報の更新を監視して、デバイスを認識する方法。

AndroidManifest.xml

android.hardware.usb

ソースコード

インテント

ライブラリ

互換性確認ツール

メモ

ホスト側の設定で認識されない場合

  • Android/system/etc/permissions/android.hardware.usb.host.xml?
    <permissions>
     <feature name="android.hardware.usb.host"/>
    </permissions>
  • Android/system/etc/permissions/handheld_core_hardware.xml?Android/system/etc/permissions/tablet_core_hardware.xml?
    <feature name="android.hardware.usb.host" />
  • を追加

ブラックリスト

  • USBハブ
  • HID boot devices (mouse and keyboard)

関連

参考