如何解决获取纬度或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