java-Android中的LocationManager的位置返回null
作者:互联网
我正在设备上测试我的Android应用,当我使用它时,它总是会失败
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
currentLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
但是,如果我使用NETWORK_PROVIDER而不是GPS_PROVIDER,它将起作用. currentLocation返回null.
我该如何处理?我需要在locationListener中添加什么特定内容吗?
谢谢!
解决方法:
GPS_PROVIDER可能无法在有限制的地方工作,例如在房屋内或类似的地方.您应采用以下方式进行编程:如果gps provider提供的位置为空,则可以使用network provider作为替代方案,尽管其准确性不是很高.
这里还有另一个问题.您的代码应如下所示:
if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
{
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
currentLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}
标签:android,locationmanager,java,location 来源: https://codeday.me/bug/20191011/1893059.html