2010-11-24 17 views
4

Je développe l'application qui a la communication bluetooth impliqué. La communication Bluetooth doit continuer même si l'activité qui établit la connexion se ferme. D'abord, j'ai pensé à utiliser le service pour cela et cela semblait être la bonne façon. Mais, dans l'exemple du chat Bluetooth, la communication se passe dans un autre thread et non dans Service. J'ai utilisé ce code dans mon application et son fonctionnement correctement. L'utilisation de Thread pour la communication bluetooth est-elle appropriée ou dois-je uniquement utiliser le service? La communication bluetooth doit être active jusqu'à ce que mon application soit en RAM et cela ne devrait pas avoir d'importance si je passe d'une activité à l'autre.Communication Bluetooth dans le fil ou le service sous Android?

+0

Quelqu'un peut-il me faire savoir s'il est approprié d'avoir une communication bluetooth dans le fil plutôt que dans le service? J'ai essayé avec le fil et son travail pour le moment mais je veux être sûr que je n'ai pas besoin de changer le code plus tard. – sunil

Répondre

0

Eh bien un thread séparé n'est pas différent puis un service dans votre cas, sauf qu'il suit le cycle de vie d'activité d'Android, mais un thread peut être tué et aucun état ne peut être récupéré. Android va essayer de redémarrer un service une fois qu'il a été tué.

0

Un peu trop tard pour répondre à votre question, mais mieux vaut tard que jamais je suppose. J'ai travaillé sur une application qui a la communication bluetooth entre deux appareils et je voudrais résumer mon expérience. Un service que nous utilisons normalement quand nous voulons faire un processus d'arrière-plan qui n'est pas très lourd, d'une certaine manière, le service (s'il est énorme) bloquera mon interface utilisateur principale, ralentissant ainsi votre OS ou ANR. est ce que nous ne voulons pas.

La communication Bluetooth est un processus en cours qui devrait être fait en utilisant un thread uniquement car cela fonctionnera comme un thread séparé et n'aura aucun impact sur le thread principal de l'interface utilisateur. Corrigez-moi si je me trompe.