【发布时间】:2017-01-26 08:36:15
【问题描述】:
我知道有很多“类似”的问题,但没有一个提供有用的答案。
我正在尝试收听来自网络和 GPS 的位置更新。 LocationListener 初始化非常标准:
locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 15000, 0, locationListener);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 15000, 0, locationListener);
我在三星 Galaxy S4 (SM-N910F) 和 LG G Flex 2 (H950) 这两款设备上进行了测试。在第一个设备上 onLocationChanged 按预期调用(仅来自“网络”提供程序),而第二个设备永远不会触发该事件。
两个设备都设置为“高精度”模式。我在 Wi-Fi 和 4G LTE 连接上尝试了第二台设备。由于我使用 Google Maps API,我可以清楚地看到用户标记在地图上移动,但从未调用过该事件。
知道为什么onLocationUpdated 永远不会在第二台设备上调用吗?
此外,我了解到 GPS 需要很长时间才能修复。向 GPS 提供商请求更新有什么意义吗?
谢谢!
【问题讨论】:
标签: android gps location android-location locationlistener