J'ai deux appareils Android que je voudrais connecter les uns aux autres via wifi-direct. L'un d'eux est l'affichage seulement (dispositif A) et n'a donc aucun dispositif d'entrée comme les écrans tactiles ou la souris. L'autre serait un téléphone portable (appareil B). Par conséquent, je voudrais que le périphérique A soit le périphérique pour initier la connexion au périphérique B, de sorte que la boîte de dialogue d'acceptation pop-up soit affichée sur le périphérique B. J'ai effectué quelques recherches et tests sur des groupes wifi-direct, et j'ai réussi à connecter les deux appareils ensemble. Malheureusement, comme le périphérique A est seulement affiché, je voudrais donner au périphérique A un certain niveau d'intelligence afin qu'il se connecte uniquement aux groupes wifi-direct qui exécutent une application compatible. J'essaye de faire ceci par l'intermédiaire des services locaux de wifi-direct.Groupes et services Android Wifi-direct
Le plan prévoit que le périphérique B diffusera un service et le périphérique A pour qu'il écoute ce service. Une fois que le dispositif A trouve le service, il se connectera au dispositif B. Ensuite, le dispositif A annoncera son propre service, de sorte que le dispositif B, le téléphone mobile, saura qu'il peut poursuivre la communication de l'application. Jusqu'ici, j'ai remarqué que vous pouviez voir un service avant la création du groupe wifi-direct. Je voudrais poser quelques questions sur la façon dont le devrait travailler wifi direct:
- Si un appareil voit un service, mais non connecté à un groupe qui contient le dispositif qui diffuse le service, alors je suppose que vous ne pouvez pas vous connecter au service/appareil directement? C'est toujours i) se connecter au groupe, puis ii) se connecter à l'appareil. Si tel est le cas, puisque je peux voir un service sans être dans le même groupe que le diffuseur de service, comment saurais-je que le périphérique diffusant le service est dans le groupe wifi-direct actuel de mon appareil, et que je me connecte au même appareil? Je sais que vous pouvez obtenir une "liste de pairs" des pairs actuellement connectés dans un groupe, mais est-il un bon moyen de faire de l'association "service broadcaster" == "ce pair spécifique?"
Merci.
Merci pour la description descriptive. Je voudrais demander plus de précisions à ce sujet, cependant, "Un appareil peut se connecter à n'importe quel peer qui annonce un service local.Même s'ils ne sont pas dans le même groupe, lorsqu'un périphérique se connecte à un autre, ils forment un autre/nouveau groupe automatiquement " Dois-je m'assurer qu'un périphérique se connectant à un groupe se connecte au chef de groupe actuel? – yhBoey
Bon point, oui, vous devez vous assurer de vous connecter au propriétaire du groupe, sinon vous allez établir un nouveau groupe. Habituellement, après l'établissement d'un groupe, tous les appareils désactivent la publicité de service. La meilleure solution est que tous les appareils désactivent la publicité de service et que le serveur lance un nouveau service avec un nom différent qui peut être utilisé pour comprendre qu'un service est déjà établi et que cet appareil en est le propriétaire. . – JAD