Я разрабатываю Android-приложение, которое использует Activity с кнопкой «загрузка» и службой для загрузки в фоновом режиме. И у меня есть следующая задача: показать сообщение о загрузке, если в настоящее время отображается приложение. Как я могу его обнаружить? Существуют ли для него стандартные функции ОС Android? Спасибо.Как обнаружить приложение отображается?
ответ
Вы можете сделать это на уровне активности, а не для приложения в целом. Ознакомьтесь с описанием activity lifecycle. (Также см. «Управление жизненным циклом активности» в Activities framework topic.) Когда ваша активность становится видимой, инфраструктура будет называть ее onStart()
. Когда пользователь может взаимодействовать с активностью, инфраструктура вызовет метод onResume()
. Вы можете переопределить одну из них, чтобы знать, когда ваша активность показывает или фактически взаимодействует с пользователем.
Обратите внимание, что, как описано в документации, все работает немного иначе, начиная с Honeycomb (3.0).
Основным методом является использование широковещательного приемника для обмена информацией между службой и приложением. Если вам необходимо обновить статус/ход загрузки в основном мероприятии, вы можете его использовать.
Here - это простой учебник о том, как обмениваться информацией между сервисом и деятельностью. Вы можете обновить ход загрузки. Он работает для текущей активности.
Чтобы проверить его как действие начнется, вы должны переопределить функции, onStart()
или onResume()
.
Также есть очень аккуратное решение, представленное в другом вопросе, и я рекомендую вам попробовать его использовать. Это включает расширение класса Application для хранения информации и использование его экземпляра для проверки обновлений. См. this
- 1. Обнаружить, когда отображается автозаполнение
- 2. Обнаружить, когда отображается iframe
- 3. Как обнаружить неуправляемое приложение прерван
- 4. обнаружить, когда приложение закрыто
- 5. Обнаружить, если отображается рекламное объявление
- 6. обнаружить приложение закрыть/минимализировать
- 7. Как обнаружить консоль или приложение Windows?
- 8. Как обнаружить в Safari, если приложение установлено
- 9. Как обнаружить, если веб-приложение обернуто CocoonJS
- 10. Как обнаружить открытое приложение с Ruby
- 11. Как обнаружить в EKEventStore, когда приложение закрыто?
- 12. Как обнаружить приложение MVC в HttpModule
- 13. Как обнаружить, что обезьяна adb разбила приложение?
- 14. Как обнаружить, что приложение утечки памяти?
- 15. Как обнаружить другое приложение, запущенное в iOS?
- 16. Как обнаружить приложение вот-вот прекратится?
- 17. Как обнаружить приложение ember во время выполнения
- 18. В Javascript, как вы можете обнаружить, когда отображается окно браузера?
- 19. обнаружить разбитое приложение с .bat
- 20. Как обнаружить приложение закрыть, когда нет формы (консольное приложение)
- 21. Обнаружить, если местоположение отображается на вращающемся MkMapView
- 22. Как обнаружить в javascript, если в настоящее время отображается приложение Smart Banner?
- 23. Обнаружить, что всплывающая подсказка Intellisense не отображается
- 24. Обнаружить, когда отображается список автозаполнения TextBox
- 25. Обнаружить, если приложение вручную закрыты или не
- 26. Как обнаружить Android-браузеры, но не приложение для Android (WebView)?
- 27. Android-приложение обнаруживает событие, когда приложение отображается на переднем плане?
- 28. WPF-приложение не отображается
- 29. Приложение MyBB не отображается
- 30. приложение onsenui отображается неправильно
Большое спасибо. – user1166635