Android-сервис разговаривать с активностью, если работает? - PullRequest
1 голос
/ 20 января 2012

В моем приложении для Android у меня есть сервис, который запускается через AlarmManager.Я хочу иметь активность, которая будет отображать некоторую информацию о прогрессе / состоянии для этой службы.Поскольку у меня уже есть 90% кода, и сервис работает как есть, мне интересно, как проще всего (если возможно) просто предоставить сервису информацию о ходе выполнения операции, только если операция

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

Я хотел бы иметь возможность сообщать об обновлениях статуса довольно часто, возможно, даже несколько раз в секунду, поэтому я не хочу делать что-то вроде использования PreferenceManager.

Работает ли моя служба и действие в одной и той же области приложения?Если это так, может быть, я могу создать одноэлементный статический объект для обмена информацией о состоянии?Информация о состоянии может быть просто строкой, это все, что мне действительно нужно.

1 Ответ

1 голос
/ 20 января 2012

Вы можете использовать широковещательную рассылку для «передачи» данных из вашей службы.Тогда в вашей деятельности есть BroadcastReceiver для этого же события.Когда не выполняется ни одной активности, отвечающей на эту трансляцию, ничто их не получит.

...