Android ondersteunt een verscheidenheid aan USB-randapparatuur en Android USB-accessoires (hardware die het Android-accessoire-protocol implementeert) via twee modi: USB-accessoire en USB-host. In de USB-accessoire-modus fungeert de externe USB-hardware als de USB-hosts. Voorbeelden van accessoires zijn roboticacontrollers, docking stations, diagnostische en muzikale apparatuur, kiosken, kaartlezers en nog veel meer., Dit geeft Android-apparaten die geen host-mogelijkheden hebben de mogelijkheid om te communiceren met USB-hardware. Android USB-accessoires moeten zijn ontworpen om te werken met Android-apparaten en moeten voldoen aan het communicatieprotocol voor Android-Accessoires. In de USB-host-modus fungeert het Android – apparaat als de host. Voorbeelden van apparaten zijn digitale camera ‘ s, Toetsenborden, Muizen en game controllers. USB-apparaten die zijn ontworpen voor een breed scala aan toepassingen en omgevingen kunnen nog steeds communiceren met Android-toepassingen die correct kunnen communiceren met het apparaat.,
figuur 1 toont de verschillen tussen de twee modi. Wanneer het Android – apparaat in de host-modus staat, fungeert het als de USB-host en stuurt de bus aan. Wanneer het Android – apparaat in de USB-accessoire-modus staat, fungeert de aangesloten USB-hardware (in dit geval een Android USB-accessoire) als host en stuurt de bus aan.
figuur 1. USB-Host-en accessoire-modi
USB-accessoire-en host-modi worden rechtstreeks ondersteund in Android 3.1 (API level 12) of nieuwere platforms. USB-accessoire modus is ook backported naar Android 2.3.,4 (API level 10) als een add-on bibliotheek om een breder scala aan apparaten te ondersteunen. Apparaatfabrikanten kunnen kiezen of ze de add-on-bibliotheek wel of niet op de systeemafbeelding van het apparaat willen opnemen.
opmerking: ondersteuning voor USB-host-en accessoire-modi zijn uiteindelijk afhankelijk van de hardware van het apparaat, ongeacht het platformniveau. U kunt filteren op apparaten die USB-host en accessoire ondersteunen via een <uses-feature>
element. Zie de USB-accessoire-en hostdocumentatie voor meer informatie.,
debug overwegingen
bij het debuggen van toepassingen die USB-accessoire of host-functies gebruiken, hebt u hoogstwaarschijnlijk USB-hardware aangesloten op uw Android-apparaat. Dit voorkomt dat u een adb
verbinding hebt met het Android-apparaat via USB. U kunt nog steeds adb
benaderen via een netwerkverbinding. Om adb
via een netwerkverbinding in te schakelen:
- sluit het Android-apparaat via USB aan op uw computer.,
- vanuit uw SDK
platform-tools/
map, typadb tcpip 5555
achter de opdrachtprompt. - Enter
adb connect <device-ip-address>:5555
U moet nu verbonden zijn met het Android-apparaat en kunt de gebruikelijkeadb
opdrachten geven zoalsadb logcat
. - om uw apparaat in te stellen om op USB te luisteren, voert u
adb usb
in.