Android.подключите устройства Bluetooth - PullRequest
1 голос
/ 26 июля 2011

Я пытаюсь написать приложение, которое включает соединение двух устройств Android через Bluetooth.

Насколько я понимаю, одно устройство действует как сервер, прослушивая входящие соединения, а другое - как клиент, и инициализирует соединение, используя MAC-адрес сервера.

Рассмотрим следующее:

У меня в кармане телефон с Android, я начинаю работать на планшете с Android. Я хочу подключить планшет к телефону (через Bluetooth), не вынимая телефон из кармана (не хочу вынимать телефон и вручную начинать прослушивать входящие соединения).

Что было бы хорошим способом для достижения этой цели? Кажется, мне нужно сделать телефон сервером, постоянно слушающим соединения 24/7. Тем не менее, моя интуиция говорит, что это сильно разряжает батарею.

Есть предложения?

Ответы [ 2 ]

1 голос
/ 26 июля 2011

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

1 голос
/ 26 июля 2011

Вы правы, вы можете сделать свой телефон (или планшет) сервером. Но он не должен использовать так много батареи; как только вы настроите серверный сокет и запустите accept подключений, код просто блокирует и ожидает входящее соединение. По своему опыту я не нашел, что это слишком много разряжает батарею (но у меня нет твердых цифр, подтверждающих это).

Если с сервером связан пользовательский интерфейс, вам нужно разделить сокет сервера на отдельный поток, чтобы не блокировать события пользовательского интерфейса.

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