2013-11-26 4 views
2

2 개의 안드로이드 기기가 있습니다. USB OTG 케이블로 연결하고 두 기기간에 앞뒤로 통신하고 싶습니다. 이해할 수있는 한 가지 Android 기기는 USB 호스트 (Nexus 7 4.4 실행)로 작동하고 다른 Android 기기는 USB 액세서리 (Galaxy Nexus 4.2.2 실행)로 작동합니다. 인터넷 검색을 시도했지만, 안드로이드 장치를 USB 액세서리 (USB 마우스 또는 키보드)에 연결하는 방법을 설명하는 기사 만 찾을 수 있습니다. 안드로이드 장치를 USB 액세서리 자체로 취급하는 방법이 아닙니다. .액세서리로 작동하는 Android 기기

따라서 this 페이지 다음에 Nexus 7의 앱을 USB 호스트로 구성했습니다. 제품 ID & 공급 업체 ID를 기반으로 연결된 Galaxy Nexus를 찾고 Android Open Accessory Protocol에 연결하고 USB를 통해 성공적으로 연결할 수 있습니다. 내가 알 수 있듯이 Nexus 7은 Galaxy Nexus로 바이트를 전송할 수 있습니다.

내 질문은 Galaxy Nexus 측에서이 연결에 액세스하는 방법입니다. 사용 권한과 USB 필터를 매니페스트에 추가 했으므로 USB 연결이 완료되면 원하는 앱이 Galaxy Nexus에서 열리지 만 Nexus 7에서 데이터를 수신하는 방법 또는 전송 방법을 알 수는 없습니다. Galaxy Nexus의 데이터를 Nexus 7에 반환합니다.

도움이 될 것입니다. 감사!

+3

주제를 벗어난 사람은 누구나 심각하게 착각합니다. 이것은 ** android APIs **를 사용하는 ** 소프트웨어 개발 **에 관련됩니다. –

+0

USB 슬레이브로 작동하는 Android에는 일반적인 "USB 장치"API가 없습니다. 가장 좋은 방법은 ADK 프로토콜을 살펴 보는 것입니다. "호스트"장치가 외부 내장형 USB 호스트 (즉, ADK 보드, Arduino + USB 호스트 실드 또는 ioio 보드로 정상적으로 수행되는 작업) 역할을 수행하도록하는 것이 가장 좋습니다. 그런 다음 "슬레이브"장치에서 ADK API를 사용할 수 있습니다. –

답변

0

내 대답은 here입니다.

Galaxy Nexus를 USB 액세서리로 사용하려면 Android Open Accessory 프로토콜을 구현해야합니다. Android 액세서리는 USB 호스트이므로 기술적으로 두 개의 호스트가 있습니다 (Galaxy Nexus에서 AOA 프로토콜을 올바르게 구현했다고 가정 할 때). 이는 분명 USB 사양의 편차입니다.