您是否需要連接的LocationClient才能檢測到用戶左側是Geofence? 在我當前的代碼中,我連接了我的LocationClient,建立了地理圍欄,然後解開了LocationClient。但是,它有時會檢測到我已經離開了它,但是在Geofence之外的更遠的位置。LocationClient連接和Geofence
1
A
回答
2
有關Google Play GeoFencing API的重要說明。我發現GeoFencing從不智能地從GPS硬件中檢索位置。 GeoFence API將觀察操作系統中最準確的位置,或者如果沒有最近的位置讀數可用,它將導致從Wifi/Cellular計算位置。 (這很吸引人,因爲蜂窩是非常不準確的,而且wifi通常不可用)
因此,爲了獲得Geofencing API的所有響應或準確結果,您必須設置Geofences,然後輪詢GPS硬件,而不是甚至對收到的結果做任何事情,以便在表面之下爲操作系統提供有價值的數據。
這可能是您的結果如此不準確的原因。直到操作系統確定你在柵欄外100%時,地理柵欄退出纔會觸發 - 因此,如果位置讀數具有500米的精度(在使用單元格地理位置時不太可能),並且柵欄的半徑爲50米, d必須距離柵欄點至少550米才能產生退出事件。
TLDR;每隔一段時間輪詢GPS硬件,而不對結果做任何事情,您將開始獲得更準確的地理圍欄。
相關問題
- 1. LocationClient在`onDisconnect`自動重新連接
- 2. Android LocationClient總是無法連接
- 3. isGooglePlayServicesAvailable和LocationClient
- 4. getSystemService(LOCATION_SERVICE)但LocationClient
- 5. Bing SDS Geofence Schema
- 6. 無法解析locationclient
- 7. LocationClient getLastLocation()返回null
- 8. Geoserver和Geofence - 使用自定義規則
- 9. 左連接和右連接
- 10. Geofence在Kotlin中不工作
- 11. PHP /谷歌地圖 - Geofence
- 12. GeoFence警報不顯示
- 13. Toast notification&Geofence Windows Phone 8.1
- 14. Android Geofence PRIORITY_HIGH_ACCURACY不準確
- 15. Android Geofence生命週期
- 16. DAO和連接
- 17. LINQ和連接?
- 18. MySQL和連接
- 19. 屏幕關閉後無法接收LocationClient的位置更新
- 20. 連接modelica模型和Java連接
- 21. oracle連接加密和連接極化
- 22. 獲取連接名稱和連接IP
- 23. SQl連接和服務器連接
- 24. Laravel連接表和連接行
- 25. MySQL的左連接和內連接
- 26. PHP和.NET連接器連接在MySQL
- 27. VB.NET和孤立連接的連接池
- 28. 連接超時:連接JAVA和Wampserver
- 29. Tomcat的連接池和空閒連接
- 30. 連接超時和連接生存期
你碰巧知道你是否可以在應用程序在後臺使用計時器來輪詢GPS? – Smoore
是的,我的應用程序執行此操作,在觸發柵欄時發出通知。 Android上的轉向應用程序也可以做同樣的事情。 – stealthwang
關於如何防止你的應用在後臺死亡的想法嗎?我有一個廣播接收器處理我的地理圍欄進入/退出,但它有時會被操作系統殺死,就像在一夜之間說的那樣。 – Smoore