android - Сохранить Bluetooth-соединение между действиями?

скажем, у меня есть 2 действия с именами Activity A и Activity B

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

когда данные верны, я хочу перейти к Activity B, где есть все главное меню, но я хочу сохранить это соединение, установленное ранее в Activity A, чтобы мне не нужно было отключать и снова подключать соединение.

как это сделать ? я новичок в этом, пожалуйста, помогите мне ..

я использую эту библиотеку для подключения: https://github.com/Polidea/RxAndroidBle

спасибо раньше :)


person Nabil Baadillah    schedule 04.06.2017    source источник
comment
привет @Nabil Baadillah, я столкнулся с той же проблемой, если ты решил ее, то можешь поделиться своим репозиторием GitHub   -  person Sniffer    schedule 15.02.2021


Ответы (1)


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

person Robert K.    schedule 04.06.2017
comment
не могли бы вы поконкретнее об этом? я еще новичок в этом, спасибо - person Nabil Baadillah; 04.06.2017
comment
Создайте службу, которая будет запускаться при запуске приложения и уничтожаться, когда приложение выключено (вторая будет выполняться автоматически, если вы не сделаете ее липкой службой). Затем выполните все действия Bluetooth в этой службе вместо действия, как вы делаете сейчас. Таким образом, ваши действия будут использовать Bluetooth из Сервиса, и ничто не будет привязано ни к одному из действий. Вы можете узнать больше об услугах здесь: tutorialspoint.com/android/android_services.htm или здесь developer.android.com/guide/components/services.html - person Robert K.; 04.06.2017
comment
Вы можете создать службу для выполнения всех функций Bluetooth. И не забудьте использовать активность, привязавшись к службе. Начальная активность должна startService() и bindService() после запуска второй активности она должна только bindService() - person pz64_; 04.06.2017
comment
наконец-то мне удалось сделать это внутри службы :) спасибо, что указали на это (@RobertK. @Pzy64) - person Nabil Baadillah; 06.06.2017
comment
@NabilBaadillah Как тебе это удалось? можете ли вы поделиться своим кодом или репозиторием github? - person mudin; 11.01.2018