2016-05-31 2 views
0

Я делаю приложение BLE, и я следую примеру в here, но я хочу получать данные в фоновом режиме, даже если приложение закрыто, поэтому я изменил «bindService» на «startService» на начните мое обслуживание.BluetoothGattCallback не отвечает на «startService»

Тем не менее, я обнаружил, что после того, как я инициализирую &, подключите устройство, обратный вызов не отвечает, что означает, что он не вызывает функцию в обратном вызове, даже если состояние соединения изменено или обнаружено gatt. Я нашел аналогичную запись в here, но, похоже, никто не дает ему решения.

Как я могу это решить? Почему обратный вызов работает, вызывая «bindService» для запуска службы, но не путем вызова «startService» для запуска службы?

Мой код обслуживание here Благодаря

ответ

0

Убедитесь, что вы звоните connectGatt() в основном потоке, так как некоторые телефоны требуют этого для обратного вызова на работу.

Также следует предупредить, что на некоторых телефонах ответный вызов gatt может запускаться в другом потоке, прежде чем connectGatt() вернется с gatt-объектом.

Смежные вопросы