7 votes

Comment échanger des messages entre 2 appareils Android par wifi et bluetooth sans internet ?

Je travaille actuellement à la création d'une application pour les appareils mobiles sous Android qui devrait être capable d'envoyer et de recevoir des messages par des moyens locaux comme le wifi et le bluetooth. Après avoir fait une recherche à ce sujet, j'ai découvert qu'Android n'a pas de fonctionnalité wifi ad hoc native et que la seule façon d'y parvenir est de rooter votre appareil et Parcheando le wpa_suplicant et quelques autres méthodes similaires qui ne sont pas génériques pour chaque appareil.

Synopsis de ce que j'essaie d'accomplir :

Une application pour Android qui recherche les appareils à proximité et tente de s'y connecter automatiquement. Si l'autre appareil a également cette application installée, il accepte automatiquement toute demande de connexion qu'il reçoit et, lorsque la connexion est établie, il renvoie un message qui garantit qu'il a cette application installée, de sorte que les deux peuvent commencer à échanger des messages automatiquement et les utilisateurs n'ont pas à autoriser/refuser l'envoi/la réception en temps réel.

Mes questions sont les suivantes :

  1. Existe-t-il un moyen d'envoyer des messages par wifi entre 2 appareils Android sans utiliser l'internet ?

  2. Puisque Ad Hoc n'est pas supporté, y a-t-il une alternative ?

  3. Si la réponse à la question 2 est négative, est-il possible de faire de l'un des appareils un point d'accès pour que l'autre puisse s'y connecter et vice versa ?

  4. En ce qui concerne le Bluetooth, est-il possible d'ignorer ou d'automatiser la fenêtre pop-up d'autorisation/refus d'une connexion entrante et la procédure d'appairage ?

Je serais heureux si vous pouviez me donner une réponse à ces questions et/ou toute autre suggestion.

3voto

Atul Goyal Points 710

J'ai moi-même travaillé sur projet similaire dans lequel, outre les messages texte, nous étions également intéressés par un chat audio (en temps réel). Comme vous l'avez souligné, Android ne supporte pas vraiment la fonctionnalité wifi ad-hoc pour l'instant (comme u a dit que Parcheando le wpa_suplicant n'est pas générique et franchement je qualifierais cette méthode d'inutile ). Aussi comme vos besoins même je voulais NE PAS utiliser internet, donc ne pouvant pas trouver d'autre moyen, pour cette fois je suis juste allé avec l'utilisation de toute connexion wifi locale à proximité pour se connecter avec (juste pour être clair, toujours nous n'utilisons pas internet) J'espère que cela répond éventuellement à vos points 1/2/3. Je ne suis pas sûr qu'une meilleure solution à 1/2/3 existe au moins tant que les gens d'Android ne permettent pas de créer un ad-hoc (ou du moins de le rejoindre à l'heure actuelle on ne peut même pas rejoindre un ad-hoc wifi à partir d'Android si je suis correct)

En ce qui concerne le point 4, je suis à nouveau désolé de vous dire que la réponse à cette question est également "non". Lorsque deux appareils se connectent pour la première fois, l'appairage doit avoir lieu. Et, pour autant que je m'en souvienne (j'ai réalisé ce projet il y a quelques mois et je n'ai pas eu le temps de le poursuivre ou de le développer), pour les connexions ultérieures à des appareils déjà appariés, aucune confirmation n'est demandée en dehors de la nôtre, que nous avons demandée pour accepter un appel vocal entrant. A part cela, la méthode Bluetooth fonctionne parfaitement bien.

J'espère que ça vous a aidé. Faites-moi savoir s'il y a quelque chose que je peux clarifier davantage.

-Atul

1voto

Thej Points 655

Ce cas d'utilisation a maintenant une solution évidente à long terme :  Android Beam/NFC. Cependant, peu d'appareils supportent encore le NFC, il est donc nécessaire d'utiliser d'autres techniques.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X