2014-04-21 31 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!

相关问题