2013-12-05 4 views
1

Я работаю с отправкой некоторых сигналов из приложения через Bluetooth.Сохранение соединения Bluetooth при переключении между классами

Способ, которым работает мое приложение, заключается в том, что он начинается с ввода активности, которая обрабатывает все связанные с Bluetooth вещи. Здесь он показывает макет со всеми найденными устройствами.

Когда устройство нажимается она подключается к нему, как в:

public BTCommunicator myBTCommunicator = null; 

получает MAC-адрес в него.

После того, как он успешно подключен, я перехожу к другому мероприятию с кучей прослушивателей кнопок.

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

общественного недействительный updateMotorControl (ИНТ влево, вправо Int) {

if (myBTCommunicator != null) {           
     // send messages via the handler 
     sendBTCmessage(BTCommunicator.NO_DELAY, motorLeft, left * directionLeft, 0); 
     sendBTCmessage(BTCommunicator.NO_DELAY, motorRight, right * directionRight, 0); 
    } 

Проблема заключается в том, что, когда мы вернемся, myBTCommunicator == нуль снова. Когда я проверяю свое внешнее устройство, оно все еще подключено, но, по-видимому, myBTCommunicator не сохраняется, когда вы уходите и возвращаетесь. Есть ли способ решить это?

ответ

0

Сделайте Подключение Глобально Static

public BTCommunicator myBTCommunicator = null; 

Для

SomeGlobal.class 
public static BTCommunicator myBTCommunicator; 
Смежные вопросы