У меня есть проект, в котором используется устройство Android для отправки команд и получения сообщений с удаленного встроенного контроллера (аналогично Arduino) через Bluetooth SPP
.Служба Android bluetooth с несколькими действиями
Я успешно создал одно приложение для активности, основанное на серии tutorials на YouTube. Большая часть кода в учебнике взята из официального примера, но это не делается как услуга.
Теперь для моей проблемы ... Мне нужно настроить активность «Главная страница», которая начнет другие действия при нажатии соответствующей кнопки.
Каждое действие, созданное с домашней страницы, будет иметь элементы управления кнопками для отправки команд через Bluetooth во встроенный контроллер для выполнения различных функций.
Начальное соединение Bluetooth запускается в моей домашней странице. Когда запускается новое действие, вызывается метод моей домашней страницы onStop()
и соединение Bluetooth теряется.
Короткое дублирование кода Bluetooth в каждом мероприятии, похоже, что услуга - это путь? Я нашел это сообщение в Stack Overflow link, что очень хорошо, но я достаточно новичок в программировании на Android, что недостающие детали заставили меня ударить по кирпичной стене.
Кроме того, в этом примере не рассматриваются различные действия с использованием службы. Что для меня лучше всего подходит для нескольких действий с использованием соединения Bluetooth?
Идея фрагмента - это путь для меня.Я очень мало знал об фрагментах, но большую часть времени проводил, и мое приложение теперь работает так, как я этого хочу. Для тех, кто имеет аналогичную ситуацию, помимо Android-документов, я настоятельно рекомендую серию учебников по фрагментам «Slidenerd» на Youtube. – john8791
Насколько я понимаю, служба docs останавливается, когда останавливаются ограниченные действия. Я прав? Итак, если второе действие начинается после какого-либо действия в первом (например, нажатие кнопки), как вы связываете второе действие с сервисом? (так что соединение, сделанное в первом действии, не умирает) – Sndn
@Sndn. Вы должны создать Activity, который будет похож на главную деятельность для всех остальных. Вы можете назвать его AbstractActivity или что-то еще, и продлить действие с этим, а затем все другие действия должны вывести AbstractActivity. Так он не перестанет работать. -edit- Я только видел, сколько лет вопрос. Но ответ может помочь кому-то, кто знает. :) – zed