Вопрос

Я делаю приложение, которое имеет деятельность, которая связывается с одним сервисом и используется для запуска, остановки или изменения настроек этого сервиса. Я использовал подход Singleton из это наконечник.

Моя проблема в том, что занятое ожидание не работает для меня, и я не могу прикрепить слушателя на службу, потому что активность заблокирована. Я хочу, чтобы сервис начать или получить текущий экземпляр при наступлении приложения, поэтому я положил занятую в OnCreate. Я предполагаю, что я делаю это очень неправильно, так как мне сделать это соответственно?

Кроме того, если для этого есть лучший подход, пожалуйста, опубликуйте любые ссылки или руководства, потому что я Getn Confused на сайте разработчика Android: P

Спасибо!

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

Решение

Я использовал синглтон подход с этого совета.

Не делай этого. Использовать bindService() И вместо этого локальный образный шаблон, и вы будете уведомлены, когда служба готова. Вы также получаете доступ к API, опубликованный сервисом и можете начать использовать его, как только вы связаны.

Другие советы

Проблема является одним из процедурных по сравнению с программированием, ориентированным на события, построен на потом.

Oncreate - это событие. Уведомление о сервисном соединении также является событием. Вы не будете доставлены уведомление об обслуживании (даже если это произошло), пока вы не вернетесь с OnCreate.

Можете ли вы разделить свою активность запуска на две части, первая сделана в OnCreate, а вторая в ответ на сервисное соединение?

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