如何在 Ubuntu Touch 中使用 QtPositioning 偵測 GPS 來源是否啟用?

如何在 Ubuntu Touch 中使用 QtPositioning 偵測 GPS 來源是否啟用?

我使用 PositionSource 從 Ubuntu Touch 提供的 GPS 資料取得使用者位置的緯度和經度。但是我需要偵測使用者是否啟用了 GPS。

閱讀 PositionSource 的官方文檔這裡,我發現它有這樣的屬性有效的其中引用官方文件說,

如果 PositionSource 物件已取得有效的後端插件來提供數據,則此屬性為 true。如果為 false,則 PositionSource 上的其他方法將無法運作。

應用程式應檢查此屬性以確定定位是否可用並在運行時平台上啟用,並做出相應反應。

然而,當我在 Ubuntu Touch 中啟用/停用位置服務時,此屬性似乎沒有更新。我嘗試使用 GUI(位置指示器)和命令列更改 GPS 狀態,

stop ubuntu-location-service-trust-stored

我可以追蹤任何其他屬性來檢查手機上的 GPS 是否啟用/停用嗎?

答案1

應用程式不應依賴實際定位提供者的知識,而應依賴各個位置更新提供的精度估計(請參閱http://developer.ubuntu.com/api/qml/sdk-14.10/QtLocation.Position/#horizo​​ntalAccuracy-prop)。這樣,應用程式開發人員無需擔心衛星定位系統(例如 GPS、GLONASS、北斗)的特定特性,而是專注於手邊的任務。

更重要的是,Ubuntu 中的定位子系統甚至可能不使用 GPS 來提供位置估計,而是僅依賴基於網路的定位。

相關內容