Поддерживать связь? - PullRequest
       14

Поддерживать связь?

2 голосов
/ 18 апреля 2011

В примере с Bluetooth-чатом я хочу добавить другое действие.Когда соединение установлено и когда загружено новое действие, как мне сохранить соединение живым ??

После загрузки нового действия вызывается метод onStop, и я могу отправить сообщение с использованием ранее созданного соединения.,Я пробовал следующий код в своем новом действии:

    BluetoothChat bt = new BluetoothChat();        
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.special_keys);
    bt.sendMessage("hello");
    }

Мне удается отправить «привет», но после этого оно принудительно закрывается. Должен быть эффективный способ справиться с этой ситуацией.Пожалуйста, помогите.

Заранее спасибо.

1 Ответ

4 голосов
/ 18 апреля 2011

Я недавно создал приложение для Android, которое связывается с аппаратным устройством через Bluetooth. В моем приложении у меня есть много классов Activity, которые взаимодействуют через соединение, и приложение также выполняет непрерывную запись данных из соединения также в фоновом режиме. Поэтому, надеюсь, я смогу здесь помочь. (Это моя первая попытка опубликовать ответ в StackOverflow, поэтому будьте осторожны со мной.)

В моем приложении я прежде всего поместил весь код Bluetooth в отдельный выделенный файл класса (который я называю BluetoothIF.java). Конструктор в этом классе выполняет базовую инициализацию адаптера, и для таких задач, как создание соединений и т. Д., Предоставляются дополнительные методы. Он содержит классы Runnable для установления соединения и последующей передачи / приема по установленному соединению. (По сути, это основано на примере BluetoothChat.)

Мне не нужно выполнять громадный объем связи через соединение Bluetooth, и мне также нужно было иметь Службу в фоновом режиме для непрерывного мониторинга и регистрации данных из соединения, как упоминалось ранее. Итак, я создал свой BluetoothIF в Сервисе. Любые классы Activity, которым необходимо обмениваться данными через существующее соединение Bluetooth, делают это в моем приложении, обмениваясь сообщениями со Службой.

В качестве альтернативы, если вам не нужно использовать Службу, возможно, вам следует совместно использовать экземпляр объекта Bluetooth среди Активов, используя одноэлементную модель или расширяя класс Application.

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