gpt4 book ai didi

android - 使用 LocationListener 时位置坐标不会改变

转载 作者:行者123 更新时间:2023-11-29 14:55:20 24 4
gpt4 key购买 nike

我在我的应用程序中使用 LocationListener。但是,每当我的位置发生变化或执行 onLocationChanged(Location location) 方法时,我的位置坐标根本不会改变。我坐在车里,已经走了几米到几公里,我的位置没有改变。可能是什么问题?

我的代码:

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
String bestProvider = locationManager.getBestProvider(new Criteria(), true);
{LocationListener locationListener = new LocationListener()
{
public void onLocationChanged(Location location)
{
//location.getLatitude(), location.getLongtitude()
//location coordinates does not change at all everytime onLocationChanged is called even after I already move several meters or kilometers.
}

//...
}
locationManager.requestLocationUpdates(bestProvider, 0, 0, locationListener);

最佳答案

试试这个

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, 
locationListener);

您可能正在使用网络提供商。监听器通常在 onPause Activity 中被删除。并且可以在activity的onResume事件中设置监听器。

我不确定通过 android 寻找最佳供应商背后的逻辑是什么。但与网络提供商相比,GPS 始终被认为是最准确的。但是在某些情况下无法通过 GPS 进行位置锁定。那是网络提供商开始使用的时候。

我通常会创建一个简单的类来调用一个函数来获取位置坐标。在函数内部,我首先使用 GPS 请求位置。我等待 30 秒的位置,如果没有收到,然后我使用网络提供商请求它。这样,我始终可以确保将 GPS 值作为我的首选。

关于android - 使用 LocationListener 时位置坐标不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8235613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com