Как узнать, когда новый сервис готов в Android?

1

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

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

Теги:
service

1 ответ

2
Лучший ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню