Я создаю приложение, которое должно получить местоположение пользователя через GPS, когда приложение находится в фоновом режиме, и я делаю это с помощью LocationManager, но я начал задаваться вопросом, какой метод будет безопаснее.Правильное обращение LocationManager.requestLocationUpdates in background
1) Начать прослушивание любых изменений местоположения в службах и удалятьUpdates в onDestroy() - но из того, что я прочитал, если service'll будет убит, то onDestroy() не может быть запущен.
2) Создайте какой-то класс GPSManager и в классе приложения removeUpdates на onDestroy() (или, возможно, на onTrimMemory()). GPSManager будет выглядеть примерно так: класс GPSManager общественности {
Context mContext;
LocationManager mLocationManager;
public GPSManager(Context context){
}
public void startGPSService(){
}
public void stopGPSService(){
}
LocationListener listener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
}
3) Любой другой метод, лучше, что я говорил, что я не знаю.
Заранее спасибо
Я устал Местоположение API, но есть проблемы с ним, когда я был в автономном режиме, но я даю ему второе изменение, возможно, я допустил некоторую ошибку. –
Не все устройства имеют Службы Google Play. –