Я беспокоюсь о приложении Android, которое чувствительно к местоположению пользователя.Убедитесь, что пользователь остался на том же месте
Как только пользователь остался на месте в течение длительного времени (например, 20 минут), мы должны что-то сделать (установите статус ближайшего ближайшего парковочного места «занято»), и как только он покинет эту позицию, статус ближайшего парковочного места, ближайшего к «свободному».
Теперь я могу получить местоположение пользователя для зарегистрированного LocationListener
, однако у меня есть две проблемы:
1) Как отслеживать местоположение пользователя, чтобы сделать это убедиться, если он есть стиль для указанного времени в том же месте ?
Я думал создать Handler
и выполнить задачу, чтобы проверить местоположение:
private Location mLastLocation;
private Location mCurrentLocation;
private Handler mHandler = new Handler();
private Runnable mLocationCalculateRunnable = new Runnable() {
@Override
public void run() {
if (mCurrentLocation != null) {
if (!userLocationChanged()) {
} else {
}
}
mHandler.postDelayed(mLocationCalculateRunnable,10000); //check every 10 seconds
}
private boolean userLocationChanged() {
return getDistance(mCurrentLocation, mLastLocation) > 5;
}
};
mHandler.postDelayed(mLocationCalculateRunnable,1000);
private void onLocationChanged(Location location) {
mLastLocation = mCurrentLocation;
mCurrentLocation = location;
}
Но я не могу продолжать, чтобы проверить местоположение и время.
2) Приложение должно запускаться, даже если пользователь нажимает клавишу back
, чтобы вернуться на главный экран, и экран может выйти, даже процессор может переспать.
Если это так, я не могу получить новое местоположение, и обработчик также может быть остановлен.
Интересно, что моя идея проверки местоположения правильная и как поддерживать приложение в любых целях?
BTW, я не могу получить доступ к сервисам, связанным с Google.
ли означает, что служба не может быть остановлена? И мне кажется, что я должен разместить слушателя местоположения и действия (сделать что-то в соответствии с местоположением) на службе тоже? – hguser
http://developer.android.com/guide/components/services.html вы можете запускать службы на фоне приложения, и пользователь не сможет включить его, даже когда он убьет приложение. –