2010-11-24 3 views
4

Ich entwickle eine App mit Bluetooth-Kommunikation. Die Bluetooth-Kommunikation sollte auch dann fortgesetzt werden, wenn die Aktivität, die die Verbindung herstellt, geschlossen wird. Zuerst habe ich daran gedacht, den Service dafür zu nutzen, und das schien der richtige Weg zu sein. Im Bluetooth-Chat-Beispiel erfolgt die Kommunikation jedoch in einem anderen Thread und nicht im Dienst. Ich habe diesen Code in meiner App verwendet und funktioniert ordnungsgemäß. Verwenden Sie Thread für die Bluetooth-Kommunikation oder muss ich nur den Dienst nutzen? Die Bluetooth-Kommunikation sollte so lange aktiv sein, bis sich meine App im Arbeitsspeicher befindet und es keine Rolle mehr spielt, ob ich zwischen den Aktivitäten wechsle.Bluetooth-Kommunikation in Thread oder Service in Android?

+0

Kann jemand mich wissen lassen, wenn es richtig ist, Bluetooth-Kommunikation in Thread statt in Service zu haben? Ich habe es mit thread versucht und es funktioniert jetzt, möchte aber sicher sein, damit ich den Code später nicht ändern muss. – sunil

Antwort

0

Nun ein getrennter Thread unterscheidet sich dann nicht von einem Dienst in dir, außer dass er dem Aktivitäts-Lebenszyklus von Android folgt, aber ein Thread könnte getötet werden und kein Zustand kann wiederhergestellt werden. Android versucht, einen Dienst neu zu starten, sobald er beendet wurde.

0

Ein wenig zu spät, um Ihre Anfrage zu beantworten, aber besser spät als nie, nehme ich an. Ich habe an einer Anwendung gearbeitet, die die Bluetooth-Kommunikation zwischen zwei Geräten hat und ich möchte meine Erfahrungen zusammenfassen. Ein Service, den wir normalerweise verwenden, wenn wir einige Hintergrundprozesse durchführen möchten, die nicht sehr schwer sind. Ich meine, der Service (wenn er riesig ist) blockiert meinen Haupt-UI-Thread und verlangsamt daher Ihr OS oder ANR ist was wir nicht wollen.

Die Bluetooth-Kommunikation ist ein immer laufender Prozess, der nur mit einem Thread ausgeführt werden sollte, da dies als separater Thread funktioniert und keine Auswirkungen auf den Haupt-UI-Thread hat. Bitte korrigieren Sie mich, wenn ich falsch liege.

Verwandte Themen