Связь Bluetooth в потоке или Сервис в Android? - PullRequest
4 голосов
/ 24 ноября 2010

Я занимаюсь разработкой приложения, в котором используется связь Bluetooth.Связь по Bluetooth должна продолжаться, даже если действие, которое устанавливает соединение, закрывается.Во-первых, я подумал об использовании Сервиса для этого, и это казалось правильным способом.Но в примере чата Bluetooth связь происходит в другом потоке, а не в Сервисе.Я использовал этот код в своем приложении, и он работает правильно.Правильно ли используется Thread для связи через Bluetooth или мне нужно использовать только Сервис?Связь Bluetooth должна быть активной, пока мое приложение не окажется в оперативной памяти, и не должно иметь значения, переключаюсь ли я между действиями.

Ответы [ 2 ]

0 голосов
/ 23 декабря 2014

Слишком поздно, чтобы ответить на ваш запрос, но лучше поздно, чем никогда, я полагаю.Я работал над приложением, которое поддерживает связь Bluetooth между двумя устройствами, и я хотел бы обобщить свой опыт.Служба, которую мы обычно используем, когда мы хотим выполнить некоторый фоновый процесс, который не очень тяжелый, в некотором смысле, я имею в виду, что служба (если она огромная) будет блокировать мой основной поток пользовательского интерфейса, следовательно, может замедляться ваша ОС или ANR, чточто нам не нужно.

Связь Bluetooth - это постоянно работающий процесс, который должен выполняться только с использованием потока, поскольку он будет работать как отдельный поток и не будет влиять на основной поток пользовательского интерфейса.Пожалуйста, поправьте меня, если я ошибаюсь.

0 голосов
/ 03 декабря 2010

Что ж, отдельный поток не отличается от службы в вашем случае, за исключением того, что он соответствует жизненному циклу активности Android, но поток может быть уничтожен, и никакое состояние не может быть восстановлено. Android попытается перезапустить сервис после его уничтожения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...