У меня есть AsyncTask
, который создает Notification
и обновляет его во время выполнения. Но когда пользователь существует, я использую приложение, пока работает AsyncTask
, я теряю Context
, и я больше не могу его обновлять. Итак, было бы неплохо изменить функцию кнопки «Назад» на ту же функцию, что и кнопка «Дом», когда запущена программа AsyncTask? Или какой еще способ получить доступ к Context
?Уведомление об изменении в AsyncTask
ответ
Я стараюсь избегать AsyncTasks по таким причинам. Я обычно использую их для вещей, которые, если либо действие, либо задача погибают, ничего не теряется. Для вещей, которые я хочу удостовериться, что закончит работу, если действие закончится или возникнет проблема с фоновым работам, вы, вероятно, должны использовать Сервис. Платформа имеет базовый встроенный, называемый IntentService
. Это должно хорошо работать для вашей ситуации, поскольку служба будет иметь свой собственный контекст и может обновлять и отслеживать сами уведомления.
Другая альтернатива, которую я бы не рекомендовал, но это возможно, состоит в том, чтобы основной Application
содержал ссылку на себя в статической переменной. Это также даст Context
, что задача может использовать.
- 1. Уведомление об изменении приложения
- 2. checkbox - уведомление об изменении
- 3. Уведомление об изменении значения
- 4. Уведомление об изменении таблицы
- 5. Уведомление об изменении контента
- 6. Уведомление об изменении отображения
- 7. Уведомление об изменении данных словаря
- 8. Быстрое уведомление об изменении PFUser
- 9. Уведомление об изменении выбора WebView
- 10. Уведомление об изменении Oracle Исключение
- 11. AngularJS уведомление об изменении модели
- 12. Уведомление об изменении состояния сети
- 13. Уведомление об изменении размера браузера?
- 14. Уведомление об изменении файла Github
- 15. Завершить уведомление об изменении Zend
- 16. Уведомление об изменении сплиттера NSSplitView
- 17. Уведомление об изменении ориентации экрана
- 18. Flash уведомление об изменении текста
- 19. Уведомление об изменении ориентации в Android
- 20. Уведомление об изменении недвижимости в общем имуществе
- 21. HTML5: Уведомление об изменении файла в API?
- 22. Получить уведомление об изменении страницы в UIWebView
- 23. Уведомление об изменении в MVVM иерархий
- 24. Уведомление об изменении в asp mvc
- 25. Получать уведомление об изменении ссылки в JavaScript
- 26. RLMResults изменить уведомление об изменении в RLMLinkingObjects
- 27. Уведомление об изменении в EF EntityCollection
- 28. Уведомление об изменении свойства в go
- 29. Автоматическое уведомление об изменении папки в Linux
- 30. Уведомление об изменении свойства в директиве AngularJS
, так что было бы неплохо просто положить AsyncTask в IntendService и просто запустить его оттуда? – maysi
Вы можете сделать это, если это действительно долго работающая задача и отслеживать ее в сервисе. Однако, поскольку вы просто обновляете уведомление, а IntentService уже запускает все, что отделяет от потока пользовательского интерфейса, вам не нужно. – Qberticus