Как ждать услугу при запуске активности - PullRequest
1 голос
/ 02 ноября 2010

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

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

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

спасибо!

Ответы [ 2 ]

2 голосов
/ 02 ноября 2010

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

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

1 голос
/ 02 ноября 2010

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

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

Можете ли вы разделить запуск своей деятельности на две части: первая в onCreate и вторая в ответ на подключение к услуге?

...