В моем приложении У меня есть широковещательный приемник, который после получения ключевого слова в 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;
}
После того, как он испортил этот метод, я получил его работу, вы легенда! Я выложу свой код выше, поскольку метод onStart устарел. – bobby123