Как обновить пользовательский интерфейс, когда приложение свернуто - PullRequest
1 голос
/ 17 сентября 2011

Я хочу разработать приложение для чата.В том, что когда приложение находится на переднем плане, все работает нормально.Однако, когда приложение свернуто, я хочу показать пользователю уведомление о том, что пришло новое сообщение.Если пользователь не ответит на это сообщение в течение 1 минуты, оно будет удалено.

Итак, вот что я делаю:

  1. В службе я слушаю новое сообщение
  2. Когда приходит новое сообщение, я запускаю один таймер, используя Runnable
  3. Если время истекло, сообщение удаляется

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

Но когда приложение находится в фоновом режиме (свернуто и поступает новое сообщение), отображается уведомление, и запускается мой таймер, но пользовательский интерфейс не обновляется.

Я пытался поместить код в runOnUIThread, но это не сработало.

У кого-нибудь есть идеи, как мне это реализовать?

1 Ответ

3 голосов
/ 17 сентября 2011

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

Однако вы можете обновить пользовательский интерфейс в методе onResume. Всякий раз, когда пользователь снова открывает приложение, вызывается onResume, и пользовательский интерфейс запускается.

...