Как определить, включены ли источники GPS с помощью QtPositioning в Ubuntu Touch?

Как определить, включены ли источники GPS с помощью QtPositioning в Ubuntu Touch?

Я использую PositionSource для получения широты и долготы местоположения пользователя из данных GPS, предоставленных Ubuntu Touch. Однако мне нужно определить, был ли GPS включен пользователем.

При чтении официальной документации по PositionSourceздесь, я обнаружил, что он имеет свойстводействительныйкоторый, цитируя официальные документы, говорит:

Это свойство имеет значение true, если объект PositionSource получил допустимый бэкэнд-плагин для предоставления данных. Если false, другие методы PositionSource не будут иметь никакого эффекта.

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

Однако это свойство, похоже, не обновляется, когда я включаю/отключаю службу определения местоположения в Ubuntu Touch. Я пробовал менять статус GPS как с помощью графического интерфейса (индикатор местоположения), так и из командной строки,

stop ubuntu-location-service-trust-stored

Есть ли еще какой-либо объект, который я могу отслеживать, чтобы проверить, включен/выключен ли GPS на телефоне?

решение1

Приложения не должны полагаться на знания о фактическом поставщике позиционирования, а вместо этого полагаться на оценки точности, предоставляемые с индивидуальными обновлениями местоположения (см.http://developer.ubuntu.com/api/qml/sdk-14.10/QtLocation.Position/#horizontalAccuracy-prop). Благодаря этому разработчикам приложений не нужно беспокоиться о конкретных характеристиках спутниковых систем позиционирования (например, GPS, ГЛОНАСС, Beidou), а вместо этого сосредоточиться на текущей задаче.

Более того, подсистема определения местоположения в Ubuntu может даже не использовать GPS для оценки местоположения, а вместо этого полагаться исключительно на сетевое позиционирование.

Связанный контент