2013-06-10 4 views
5

Ich versuche Android USB Host/Zubehör-Verbindung zu lernen. Ich lese Android-Geräte können USB-Host oder USB-Zubehör handeln. Deshalb erstelle ich zwei Projekt eines von ihnen usb-Host-Projekt, andere USB-Zubehör-Projekt. Ich habe diese Projekte auf zwei verschiedenen Android-Geräten installiert. Einer von ihnen hat USB-Host (Gerät A) Projekt, andere hat USB-Zubehör (Gerät B) Projekt.Android USB Host-Modus und Zubehör-Modus

Meine Frage ist, kann ich mit USB-Host-Projekt mit Gerät B verbinden. Ich kann alle Informationen über das Gerät sehen. Aber im Zubehörprojekt (Gerät B) kann ich nichts über Gerät A sehen.

manager.getAccessoryList() gibt immer null zurück. Mein USB-Zubehör-Projektcode ist hier.

UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); 

for (UsbAccessory accessory : manager.getAccessoryList()) { 
    String list = " DESCRIPTION : " + accessory.getDescription() + " MODEL : " + accessory.getModel() + " MANUFACTURER : " + accessory.getManufacturer() + " SERIAL : " + accessory.getSerial(); 
    Toast.makeText(this, list, Toast.LENGTH_LONG).show(); 
} 
+0

Ich habe das gleiche Problem ... –

Antwort

0

das, weil ist, wenn Sie eine Verbindung ein Zubehör zum Gerät B, das mit Zubehör, die als US-B-Host fungiert muss das Android öffnen Accessory Protocol (AOAP) implementieren. Siehe Connecting over USB. Da Gerät A (Host) das AOAP nicht implementiert, verweigert Gerät B die Kommunikation mit Gerät A über einen Handshake-Versuch hinaus.

+0

Meinen Sie, dass es möglich ist, zwischen zwei Android-Geräten über AOAP zu kommunizieren? Mein Verständnis war AOAP-Kommunikation zwischen einem Android-Gerät unterstützt AOAP und einem USB-Zubehör wie Arduino, das AOAP unterstützt. Können Sie bitte klarstellen? – Kozlov

+0

@Kozlov Ich meinte, dass ein Android-Gerät, das im USB-Zubehörmodus läuft, nur mit einem USB-Host kommuniziert, der das AOAP implementiert. – Luis

0

Versuchen Sie, diese https://github.com/quandoo/android2android-accessory

Auch wurde ich immer Zubehörliste als 0 Aber im Github-Projekt, haben sie zuerst eine Steuernachricht von einem Android-Gerät gesendet als Host zu einem anderen Gerät handeln, das Zubehör ist. Nach dem Senden der Steuernachricht bekomme ich die Zubehörliste ungleich Null.