У меня есть простой менеджер местоположений, который обычно работает, однако, когда устройство Android выключено, а затем снова включено, диспетчер местоположений android возвращает Null, даже если у меня есть запрос на обновления. Я знаю, что getLastKnownLocation может возвращать значение null, однако, я считаю, что обрабатываю это в своем коде. Все предложения приветствуются.Android Location Manager возвращает NULL
По-видимому, lon = location.getLongitude(); рушится.
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location == null)
{
// request location update!!
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
lon = location.getLongitude();
lat = location.getLatitude();
}
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//Get last known location
location = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
//Update if not null
if (location != null)
{
lat = location.getLatitude();
lon = location.getLongitude();
}
//Request update as location manager can return null otherwise
else
{
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
lat = location.getLatitude();
lon = location.getLongitude();
}
}
Это глупый вопрос, но до сих пор вы добавили разрешения <использует-разрешение андроида: имя = «android.permission.ACCESS_FINE_LOCATION» /> <использует-разрешение андроида: имя = "андроид. разрешение.INTERNET "/> – Soham
У меня есть, что да! : D – ThemuRR