Как узнать, когда новый сервис готов в Android? - PullRequest
1 голос
/ 25 января 2011

Я использую startService () для запуска нового сервиса. Это займет некоторое время, прежде чем услуга будет готова. Если я немедленно вызову ServiceManager.getService (), он вернет ноль. Я не нашел никакой блокирующей функции по этому поводу. Как узнать, когда услуга готова? Есть ли какие-либо функции блокировки или какие-либо системные сообщения, чтобы сказать мне это?

Другой способ поместить ServiceManager.getService () в цикл while, но я не думаю, что это хорошо, потому что он заблокирует пользовательский интерфейс.

1 Ответ

2 голосов
/ 25 января 2011

Вы, вероятно, должны реструктурировать свой код, чтобы использовать Context#bindService. bindService позволяет предоставить объект ServiceConnection, для которого будет вызываться метод onServiceConnected, когда служба готова к взаимодействию.

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