2012-01-29 5 views
0

Я разрабатываю Android-приложение, которое использует Activity с кнопкой «загрузка» и службой для загрузки в фоновом режиме. И у меня есть следующая задача: показать сообщение о загрузке, если в настоящее время отображается приложение. Как я могу его обнаружить? Существуют ли для него стандартные функции ОС Android? Спасибо.Как обнаружить приложение отображается?

ответ

1

Вы можете сделать это на уровне активности, а не для приложения в целом. Ознакомьтесь с описанием activity lifecycle. (Также см. «Управление жизненным циклом активности» в Activities framework topic.) Когда ваша активность становится видимой, инфраструктура будет называть ее onStart(). Когда пользователь может взаимодействовать с активностью, инфраструктура вызовет метод onResume(). Вы можете переопределить одну из них, чтобы знать, когда ваша активность показывает или фактически взаимодействует с пользователем.

Обратите внимание, что, как описано в документации, все работает немного иначе, начиная с Honeycomb (3.0).

+0

Большое спасибо. – user1166635

0

Основным методом является использование широковещательного приемника для обмена информацией между службой и приложением. Если вам необходимо обновить статус/ход загрузки в основном мероприятии, вы можете его использовать.

Here - это простой учебник о том, как обмениваться информацией между сервисом и деятельностью. Вы можете обновить ход загрузки. Он работает для текущей активности.

Чтобы проверить его как действие начнется, вы должны переопределить функции, onStart() или onResume().

Также есть очень аккуратное решение, представленное в другом вопросе, и я рекомендую вам попробовать его использовать. Это включает расширение класса Application для хранения информации и использование его экземпляра для проверки обновлений. См. this

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