如何解决获取纬度或GPS空指针异常?

我正在努力获得目前很长的时间。 我在LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);上获得一个空指针LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

    LocationListener myLocationListener = new CurrentLocationListener(); 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1, 1, myLocationListener);
    Location currentLocation = locationManager.getLastKnownLocation("gps"); 
    Latitude = currentLocation.getLatitude();  ----->>> null pointer exception here
    Longitude = currentLocation.getLongitude();

public class CurrentLocationListener implements LocationListener{
    public void onLocationChanged(Location argLocation) {
    }
    public void onProviderDisabled(String provider) {
    }
    public void onProviderEnabled(String provider) {
    }
    public void onStatusChanged(String provider, int status, Bundle arg2) {
    }
} 

我的清单文件

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

这通常是因为没有最后一个知道的位置。 要强制获取位置,您可以注册位置更新并等待,或者您可以启动Google地图应用程序,使用菜单 - >我的位置获取位置,返回到您的应用程序,并且最后一次知道的位置不应该为空。


您是否在清单文件中设置了正确的权限? 就像是:

<uses-permission 
    android:name="android.permission.ACCESS_FINE_LOCATION" />

很明显...

Location currentLocation = locationManager.getLastKnownLocation("gps"); 

if (currentLocation != null)
{
    Latitude = currentLocation.getLatitude();
    Longitude = currentLocation.getLongitude();
}

现在,关于为什么locationManager返回空引用而不是实际的位置引用......使用提供的代码很难知道。 可能是任何事情。

编辑:嗯,似乎可能是你没有GPS修复。

链接地址: http://www.djcxy.com/p/90645.html

上一篇: how to solve Null pointer exception on Getting latitude or GPS?

下一篇: Location request timed out on android emulator with React