OnLocationChanged 未在某些设备上触发
OnLocationChanged not fired on some devices
我知道有很多 'similar' 个问题,但其中 none 个提供了有用的答案。
我正在尝试收听来自网络和 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
按预期调用(仅来自 'network' 提供者),而事件从未在第二个设备上触发。
两个设备都设置为 'High Accuracy' 模式。我在 Wi-Fi 和 4G LTE 连接上尝试了第二台设备。由于我使用 Google 地图 API,我可以清楚地看到用户标记在地图上移动,但从未调用该事件。
知道为什么从不在第二台设备上调用 onLocationUpdated
吗?
此外,我了解到 GPS 需要很长时间才能修复。向 GPS 提供商请求更新有什么意义吗?
谢谢!
我可以建议您开始使用 Google 播放位置 API。
The Google Play services location APIs are preferred over the Android
framework location APIs (android.location) as a way of adding location
awareness to your app. If you are currently using the Android
framework location APIs, you are strongly encouraged to switch to the
Google Play services location APIs as soon as possible.
我知道有很多 'similar' 个问题,但其中 none 个提供了有用的答案。
我正在尝试收听来自网络和 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
按预期调用(仅来自 'network' 提供者),而事件从未在第二个设备上触发。
两个设备都设置为 'High Accuracy' 模式。我在 Wi-Fi 和 4G LTE 连接上尝试了第二台设备。由于我使用 Google 地图 API,我可以清楚地看到用户标记在地图上移动,但从未调用该事件。
知道为什么从不在第二台设备上调用 onLocationUpdated
吗?
此外,我了解到 GPS 需要很长时间才能修复。向 GPS 提供商请求更新有什么意义吗?
谢谢!
我可以建议您开始使用 Google 播放位置 API。
The Google Play services location APIs are preferred over the Android framework location APIs (android.location) as a way of adding location awareness to your app. If you are currently using the Android framework location APIs, you are strongly encouraged to switch to the Google Play services location APIs as soon as possible.