Я использую GPS. Это мой код.getLastKnownLocation return NULL
public void onCreate()
{
super.onCreate();
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location mLocation;
if(mLocationManager.isProviderEnabled((LocationManager.GPS_PROVIDER)))
{
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER , 2000, 10, myLocationListener);
mLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Temp = updateWithNewLocation(mLocation);
Value.city = Temp;
Temp = "";
LogShow("DataClass.City = " + Value.city);
LogShow("GPS_PROVIDER enable");
}
}
Я не знаю, почему getLastKnownLocation возвращает NULL. Поэтому updateWithNewLocation будет пустым. Я использую разрешение ACCESS FINE LOCATION.
Как его решить?
'getLastKnownLocation()' будет возвращать null, если считает, что местоположение слишком устарело –
getLastKnownLocation() может быть устаревшим, поскольку @raghav сказал, например, если устройство было отключено и перемещено в другое место. должен захватить новое местоположение, запросив новое обновление местоположения .. Также я бы предложил рассмотреть вашу точность и ограничение батареи, чтобы либо продолжать работу с NETWORK_PROVIDER, а не GPS_PROVIDER –