В моем приложении есть широковещательный приемник, который после получения ключевого слова в SMS-сообщении запускает службу, которая отслеживает местоположение GPS телефона.Я делаю это с помощью -
context.startService(new Intent(context,TrackGPS.class));
Мне также нужно иметь возможность остановить службу после получения другого ключевого слова в SMS-сообщении, я пытался сделать это, но датчик GPS все еще отслеживает местоположение и значок GPSмигает в верхней части экрана.Я попытался сделать это, используя -
context.stopService(new Intent(context, TrackGPS.class));
Я полагаю, это может быть потому, что прослушиватель GPS должен быть незарегистрированным.Может ли кто-нибудь помочь мне в получении этой услуги, чтобы остановить + остановить отслеживание GPS после получения текста?Заранее спасибо.
Решение
@Override
public int onStartCommand(Intent GPSService, int flags, int startId) {
boolean startListening = GPSService.getExtras().getBoolean("IsStartTracking");
if (startListening == true){
lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
}
else {
lm.removeUpdates(this);
stopSelf();
}
return 1;
}