2016-09-18 243 views
0

我知道有很多'类似'的问题,但没有一个提供了有用的答案。OnLocationChanged未在某些设备上触发

我试图听从位置更新,从网络和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提供商更新?

谢谢!

回答

1

我可以建议您开始使用Google Play位置API。

的谷歌Play服务的位置API优于Android的 框架位置API(android.location)如添加位置 认识到你的应用程序的方式。如果您目前正在使用Android 框架位置API,则强烈建议尽快切换到Google Play服务位置API 。

https://developer.android.com/training/location/index.html

相关问题