2014-04-21 61 views
0

我正在編寫一個Android應用程序,當他進入特定區域時通知用戶。爲此,我使用了Android的Geofence API。我沒有得到geofence通知

我試過Google的GeofenceDetection示例,並且應用程序根本沒有得到通知。

我打電話給addGeofences,然後收到onAddGeofencesResult通知,並且statusCode爲0,所以似乎所有工作都很好,但是當我走進(或開車)進出地理圍欄(半徑5米或50米)時,沒有任何反應。

我使用Nexus4和Eclipse - 都更新到最新版本。

爲什麼我沒有geofence通知?

+0

您的設備設置中是否啓用了GPS接收器?你有信號嗎?有很多GPS測試應用程序會告訴你你的修復程序有多好。您是否正在運行任何可能覆蓋真實GPS提供商的模擬GPS應用程序? –

+0

GPS正在工作 - 我可以從中讀取位置,導航器工作正常。我不使用模擬位置 – DuduArbel

+0

你能分享你的廣播接收器或InstentService類代碼嗎? – Pankaj

回答

0

我發現GeoFencing API從不智能地從GPS硬件中檢索位置。 GeoFence API將觀察操作系統中最準確的位置,或者如果當前沒有可用位置,它將導致從Wifi/Cellular計算位置。 (這很吸引人,因爲蜂窩是非常不準確的,而且wifi通常不可用)

因此,爲了獲得Geofencing API的所有響應或準確結果,您必須設置Geofences,然後輪詢GPS硬件,而不是甚至對收到的結果做任何事情,以便在表面之下爲操作系統提供有價值的數據。

此行爲未記錄 - 感謝Google!

相關問題