Qt Позиционирование на Android
Использование Qt Позиционирования из служб Android
Использование Qt Позиционирования из сервиса требует выполнения нескольких дополнительных действий, в зависимости от версии Android. В разделах ниже даны более подробные сведения об этих действиях.
Примечание: Начиная с Android 8 (уровень API 26), ОС ограничивает частоту, с которой приложение может получать текущее местоположение пользователя во время работы в фоновом режиме. Приложение обычно сможет получать обновления местоположения только несколько раз в час. Для получения дополнительной информации см. Пределы фонового местоположения.
Использование сервиса переднего плана
Начиная с Android 8 (уровень API 26), фоновый сервис может быть завершен операционной системой Android, когда приложение переходит на задний план. Это обычно происходит примерно через минуту работы в фоновом режиме. Чтобы сохранить работу сервиса определения местоположения, сервис должен быть реализован как Сервис переднего плана. Такой сервис отображает уведомление в строке состояния, которое нельзя закрыть, пока сервис не будет остановлен или удален из переднего плана. Это позволяет пользователю всегда быть в курсе важных фоновых задач.
Примечание: Начиная с Android 9 (уровень API 28), сервисы переднего плана требуют специального FOREGROUND_SERVICE разрешения. См. документацию Android для получения более подробной информации о реализации сервисов переднего плана.
Использование разрешения на фоновое местоположение
Начиная с Android 10 (уровень API 29), служба *должна* запросить разрешение ACCESS_BACKGROUND_LOCATION. Его необходимо добавить в файл AndroidManifest.xml следующим образом:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Примечание: После добавления разрешения в AndroidManifest.xml, по-прежнему требуется явно разрешить постоянный доступ к службам определения местоположения для приложения. Для этого необходимо перейти в Настройки -> Приложения, выбрать соответствующее приложение, открыть его разрешения и указать разрешение Разрешить всегда для местоположения (см. скриншот ниже).
Дополнительные сведения см. в документации Android по Доступу к местоположению в фоновом режиме.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtpositioning-android.html