Вопрос

В моем приложении для Android, a Обслуживание запускается в фоновом режиме и регистрируется Данные GPS для передачи в базу данных.Пользователь видит действие, которое представляет ему переключатели.Я хотел бы также зарегистрировать их текущий выбранный переключатель в базе данных.

Как я могу получить доступ к объекту переключателя из Сервиса?

Это было полезно?

Решение

Один из простых способов сделать это (при условии, что ваша служба выполняется в том же процессе, что и Действие) - использовать общий файл настроек.Действие может выполнять запись в файл настроек всякий раз, когда переключается кнопка, и Служба может либо зарегистрировать прослушиватель в настройках, либо проверять состояние при записи в базу данных.

Более сложным способом, позволяющим избежать настроек, было бы запустить службу с помощью Context.startService() (чтобы она оставалась запущенной, даже если действие отсутствует), а затем вызвать Context.bindService() (запуск службы, если она не запущена), чтобы вернуть заглушку IBinder, с которой она может взаимодействовать.Для такого подхода я рекомендую вам взглянуть на Демо-версии API сервиса.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top