чтобы задать пользователю включить GPS, проверить это link
Ниже будет внутренности функции, что попытки получить последнюю известную GPS-локацию в порядке убывания точности. Если у пользователя нет включенного GPS, вы не можете его включить. Лучшее, что вы можете сделать, это захватить последнее известное местоположение или предложить им включить GPS. Каждый раз, когда пользователь использует GPS в другом приложении и получает новую координату или подключается к беспроводной сети, последнее известное местоположение изменится. Я полагаю, вы могли бы написать справочную службу, которая каждые 5-10 минут проверяет эти данные и отправляет их вам. Хотя, я не согласен с тем, как вы, похоже, направляетесь с этим приложением. лол. Для науки!
LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE); String provider = lm.getBestProvider(crit, true);
Location loc = lm.getLastKnownLocation(provider);
if(loc){
return loc;
}
lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_COARSE);
provider = lm.getBestProvider(crit, true);
loc = lm.getLastKnownLocation(provider);
if(loc){
return loc;
}
lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
crit = new Criteria();
crit.setAccuracy(Criteria.NO_REQUIREMENT);
provider = lm.getBestProvider(crit, true);
loc = lm.getLastKnownLocation(provider);
return null;
, если это так, то есть ли способ запустить функцию в фоновом режиме, как только GPS включена? – HeWhoProtects
Ну, есть ['GpsStatus.Listener'] (http://developer.android.com/reference/android/location/GpsStatus.Listener.html), и есть три метода состояния в [' LocationListener'] (http://developer.android.com/reference/android/location/LocationListener.html). –
Хмм, возможно, это будет вокруг ... Я посмотрю, спасибо окт. – HeWhoProtects