Android: доступ к значениям переключателей из службы - PullRequest
4 голосов
/ 19 марта 2009

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

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

1 Ответ

3 голосов
/ 19 марта 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...