我已经使用android demo(http://developer.android.com/training/location/geofencing.html)在我的应用中实现了Geofencing。问题是,只有当谷歌地图或任何其他要求进行位置更新的应用程序打开并且启用了GPS时,我才会收到准确的警报通知。当我的3g或wifi打开时,我没有收到任何警报通知。我保持了1000米作为地理围栏半径。即使当我的3G或wifi打开并且我站在地理围栏区域的中间时,我也没有收到警报通知。
我是否需要手动请求位置更新,或者地理围栏需要时间来触发警报通知?
答案 0 :(得分:2)
当我第一次拨打requestLocationUpdates
并在onLocationChanged
回调中添加地理位置到LocationClient
因此,您的假设很可能是正确的,需要手动更新。
我还将位置轮询设置为1分钟或100米,因此我的应用程序就像地图一样,始终获取位置。 API为LocationManager.requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)