Android LocationManager多次提供相同的位置(Nexus 5)
当我在手机上使用LocationManager时,对于几乎所有的Nexus 5测试设备,LocationManager每分钟都会检测到相同的位置几次(我每60秒监听一次位置)。为了明确我实际使用的代码:Android LocationManager多次提供相同的位置(Nexus 5),android,locationmanager,nexus-5,Android,Locationmanager,Nexus 5,当我在手机上使用LocationManager时,对于几乎所有的Nexus 5测试设备,LocationManager每分钟都会检测到相同的位置几次(我每60秒监听一次位置)。为了明确我实际使用的代码: mLocationManager.requestLocationUpdates(60*1000, 0, criteria), mLocationUpdateListener, Looper.getMainLooper
mLocationManager.requestLocationUpdates(60*1000,
0,
criteria),
mLocationUpdateListener, Looper.getMainLooper());
标准是从服务器设置的,仅定义所需的精度(criteria.accurity\u rough或criteria.accurity\u FINE)
因此,对于我的其他测试设备(Nexus4和三星S3),我对位置管理器没有问题。它总是每60秒提供一个新位置。但是Nexus5设备似乎在某个点缓存了位置,因此我向服务器发送了5次完全相同的位置,即使我已经离该位置有几百米远了
有人知道问题出在哪里吗?如果您感兴趣,我还可以附加mLocationUpdateListener的代码,但它只是将位置发送到服务器
编辑:始终在后台服务中获取位置。我可以通过在前台打开谷歌地图来解决这个问题。但这当然不能解决我的问题
编辑解决方案:似乎游戏服务无法在所有6台Nexus 5测试设备上运行。重新启动所有设备后,我再也无法重现那种奇怪的行为
编辑2:我又一次偶然发现了这种行为,即使我重新启动手机,它仍会不断出现…试试这个
mLocationManager.requestLocationUpdates(LocationManager.GPS\u提供程序,0,0,mLocationUpdateListener)代码>嘿,拉姆基,谢谢你的回复。我知道我可以直接使用GPS_提供商或网络_提供商,但我选择这种方法是因为我想使用谷歌的fusion提供商。哪家供应商提供位置信息并不重要,但室内GPS无法获得定位,室外网络有时也无法工作。这就是为什么我决定选择fusion提供商。在Nexus5中启用定位服务。否则你只能得到最后一个已知的位置。你是说在设置中?这是启用高精度(与我的Nexus 4相同,它没有此特定错误)是的,请尝试重新启动设备并再次检查它。我不太确定重新启动我的6部Nexus 5手机是否可以修复此错误,因为它们都有完全相同的错误。。。