2013-06-10 6 views
5

J'essaie d'apprendre la connexion USB hôte/accessoire USB. Je lis les appareils Android peuvent agir hôte USB ou accessoire USB. Par conséquent, je créer deux projet l'un d'eux hôte projet USB, autre projet accessoire USB. J'ai installé ces projets sur deux appareils android différents. L'un d'entre eux a un projet hôte USB (Device A), d'autres ont un projet accessoire USB (Device B).Mode hôte USB Android et mode accessoire

Ma question est, je peux me connecter avec le projet hôte USB à l'appareil B. Je peux voir toutes les informations sur l'appareil. Mais dans le projet accessoire (périphérique B) je ne vois rien à propos du périphérique A.

manager.getAccessoryList() retourne toujours null. Mon code de projet d'accessoire USB est ici.

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

J'ai le même problème ... –

Répondre

0

C'est parce que lorsque vous vous connectez un accessoire au périphérique B, votre accessoire qui agit comme hôte américain B doit mettre en œuvre l'Android Open Accessory Protocol (de AOAP). Voir Connecting over USB. Étant donné que le périphérique A (hôte) n'implémente pas le protocole AOAP, le périphérique B refusera de communiquer avec le périphérique A au-delà d'une tentative de prise de contact.

+0

Voulez-vous dire qu'il est possible de communiquer entre deux appareils Android via AOAP? Ma compréhension était la communication AOAP est possible entre un appareil Android prenant en charge AOAP et un accessoire USB comme Arduino qui prend en charge AOAP. Pouvez-vous clarifier s'il vous plait? – Kozlov

+0

@Kozlov Je voulais dire qu'un appareil Android fonctionnant en mode accessoire USB ne communiquera qu'avec un hôte USB qui implémente l'AOAP. – Luis

0

Essayez cette https://github.com/quandoo/android2android-accessory

Même je recevais la liste des accessoires comme 0. Mais dans le projet github, ils ont d'abord envoyé un certain message de commande d'un appareil Android agissant comme un hôte à un autre appareil qui est accessoire. Après avoir envoyé le message de contrôle, j'obtiens la liste d'accessoires non nulle.

Questions connexes