2015-09-19 4 views
0

Я хочу создать службу, которая работает в фоновом режиме, служба загружает файлы на сервер. пока что вы можете закрыть приложение. служба продолжает работать, в конце и, если приложение открыто, необходимо обновить интерфейс приложения. при обновлении пользовательского интерфейса приложения, если оно открыто? Мне нужно сделать чек типа: if app open ui update? И как это сделать?Служба Android Как обновить ui Активность, если приложение открыто?

+0

обратитесь к http://stackoverflow.com/questions/14695537/android-update-activity-ui-from-service – sasikumar

+0

используйте шаблон «локальная связанная служба», что вам нужно от вашей «деятельности», просто вызовите 'bindService ' – pskink

ответ

0

Используйте шину событий, такую ​​как greenrobot's EventBus или LocalBroadcastManager. Служба может отправлять сообщение на шину, сообщая о любых изменениях состояния. Активность —, если она существует — может подписаться на сообщения с шины и обновить пользовательский интерфейс после получения этого сообщения об изменении состояния.

У меня есть примеры приложений, демонстрирующих это for greenrobot's EventBus и for LocalBroadcastManager. У меня также есть один for Square's Otto, хотя он немного сложнее из-за проблем с потоками.

Смежные вопросы