编程语言
首页 > 编程语言> > java-Android中的LocationManager的位置返回null

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