Я новичок в разработке мобильных приложений и хочу написать приложение, аналогичное по функциональности приложениям навигации, таким как Waze и Google Maps, которые дают голосовые и визуальные указания пользователю, когда приложение находится на переднем плане, и продолжаютпредоставлять голосовые указания, когда приложение переходит в фоновый режим.
Мой вопрос: как навигационные приложения, такие как Waze и Google Maps, продолжают предоставлять инструкции по навигации, когда приложение изменяется между работой на переднем плане и работой в фоновом режиме?
Я понимаю, что в разработке для Android, когда приложение находится на переднем плане, оно запускается в основном потоке пользовательского интерфейса, а когда оно переходит в фоновый режим - оно использует фоновый сервис, который работает в другом потоке, который в навигацииПример приложения, вероятно, отслеживает положение телефона и продолжает давать инструкции пользователю.
Но как элемент управления плавно переключается между фоновой службой и основным потоком пользовательского интерфейса, когда пользователь переключается между передним планом и задним планом?d state?
Я не уверен, что это правильная логика приложения, поэтому я спрашиваю - всегда ли навигационные приложения используют фоновый сервис для непрерывного расчета маршрута - и дают звуковые указания, когда приложениенаходится в фоновом режиме и рисует маршрут на экране, когда он работает на переднем плане?
Кроме того, как это делается в разработке для iOS?Используются ли в iOS-приложениях та же логика?
Спасибо, Мик