Страница 1 из 1

Один поток - несколько активностей

Добавлено: 08 сен 2013, 00:02
korsaj
Пытаюсь разобраться с блютузом. За основу взял пример BluetoothChat. Выполняю соединение с устройством блютуз в одном активити (Activity_Bt_ListDevice). После удачного соединения запускается поток ConnectedThread реализованный в классе BluetoothService. Нужно перейти в другую активити (реализовано древовидное меню, например Activity_ReadData) для выбора действия с данными полученными в потоке.

Вопрос: Как работать с запущенным потоком ConnectedThread в другой активности?

Еще в классе BluetoothService реализован метод StartRead(boolean), который изменяет переменную класса public volatile boolean StartRead. Сама переменная служит для запуска/остановки передачи данных от потока к активити.

Вопрос: Как сохранить доступ данного метода к запущенному потоку при запуске другой активности.

Или как вариант: запускать сервис и использовать биндинг и броадкастресивер? Как рекомендовано сдесь viewtopic.php?f=38&t=1850

Re: Один поток - несколько активностей

Добавлено: 08 сен 2013, 17:27
korsaj
Переформулирую вопрос:
Есть две активити и один класс (BtClass) в котором реализован поток (поток (CalculatePrimes) после запуска каждую секунду инкриминирует переменную i пока переменная класса public volatile boolean finished не станет true). Переменная finished изменяется методом GetThread(boolean) класса BtClass. В первом активити запускается конструктор класса BtClass и запускается поток CalculatePrimes. После перехода во второе активити нужно получить доступ к запущенному потоку чтоб изменить переменную.
Пробовал после запуска второго активити запускать конструктор класса BtClass чтоб получить ссылку на объект, но соответственно получаю ссылку на новый экземпляр класса и соответственно метод GetThread(boolean) не имеет доступа к переменной finished уже запущенного потока.

Подскажите как из первого активити передать ссылку на уже созданный экземпляр BtClass второму активити?

Re: Один поток - несколько активностей

Добавлено: 09 сен 2013, 10:55
KamiSempai
Еще можно синглтон использовать, но сервис все равно более правильный вариант.

Re: Один поток - несколько активностей

Добавлено: 09 сен 2013, 17:49
korsaj
Спасибо. Как раз и копаю в эту сторону.