2011-07-26 6 views
1

Je tente d'écrire une application qui implique la connexion de deux appareils Android via Bluetooth. Je crois comprendre qu'un appareil agit comme un serveur, à l'écoute des connexions entrantes alors que l'autre agit comme le client, et initialise la connexion en utilisant l'adresse MAC du serveur.Android. connecter des périphériques Bluetooth

Considérez ce qui suit:

J'ai mon téléphone android dans ma poche, je commence à travailler sur ma tablette Android. Je veux connecter la tablette au téléphone (via bluetooth) sans sortir le téléphone de ma poche (je ne veux pas sortir le téléphone et commencer à écouter manuellement les connexions entrantes).

Quel serait un bon moyen d'y parvenir? Il semble que je devrais faire le téléphone au serveur, en écoutant constamment les connexions 24/7. Cependant, mon instinct dit que cela va vider la batterie violemment.

Des suggestions?

Répondre

1

Vous avez raison, vous pouvez faire de votre téléphone (ou de votre tablette) le serveur. Mais il ne devrait pas utiliser autant de batterie; Une fois que vous avez configuré un socket serveur et démarré accept connexions, le code simple bloque et attend une connexion entrante. Dans mon expérience, je n'ai pas trouvé que ce soit trop d'une batterie de vidange (mais je n'ai pas de chiffres durs pour sauvegarder cela).

Si une interface utilisateur est impliquée avec le serveur, vous devez séparer le socket du serveur en un thread séparé afin de ne pas bloquer les événements de l'interface utilisateur.

1

Généralement, les téléphones se comportent de cette manière, c'est-à-dire qu'ils attendent les connexions entrantes provenant de périphériques couplés. Attente/Numérisation pour les connexions entrantes est moins gourmand en énergie que d'essayer de trouver ou de se connecter aux périphériques dans un mode d'interrogation. Beaucoup de puces bluetooth ont une faible consommation d'énergie qui implémente un balayage économe en énergie.

Questions connexes