Android:доступ к значениям переключателей из службы
-
20-08-2019 - |
Вопрос
В моем приложении для Android, a Обслуживание запускается в фоновом режиме и регистрируется Данные GPS для передачи в базу данных.Пользователь видит действие, которое представляет ему переключатели.Я хотел бы также зарегистрировать их текущий выбранный переключатель в базе данных.
Как я могу получить доступ к объекту переключателя из Сервиса?
Решение
Один из простых способов сделать это (при условии, что ваша служба выполняется в том же процессе, что и Действие) - использовать общий файл настроек.Действие может выполнять запись в файл настроек всякий раз, когда переключается кнопка, и Служба может либо зарегистрировать прослушиватель в настройках, либо проверять состояние при записи в базу данных.
Более сложным способом, позволяющим избежать настроек, было бы запустить службу с помощью Context.startService() (чтобы она оставалась запущенной, даже если действие отсутствует), а затем вызвать Context.bindService() (запуск службы, если она не запущена), чтобы вернуть заглушку IBinder, с которой она может взаимодействовать.Для такого подхода я рекомендую вам взглянуть на Демо-версии API сервиса.