Не удается остановить LOCATION_SERVICE - PullRequest
0 голосов
/ 23 сентября 2010

У меня есть простое приложение, которое использует системный сервис Android LOCATION_SERVICE. При закрытии приложения мне нужен сервис, чтобы остановить. Я много и долго искал, как это сделать, но я не должен искать правильную вещь. Кто-нибудь знает, как остановить эту услугу?

Вот что я делаю.

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 

    private LocationManager lm;
    private LocationListener locationListener;

    lm = (LocationManager) 
        getSystemService(Context.LOCATION_SERVICE);    

    locationListener = new MyLocationListener();

    lm.requestLocationUpdates(
        LocationManager.GPS_PROVIDER, 
        0, 
        0, 
        locationListener);

    ...
}

@Override
protected void onDestroy() {
    lm.removeUpdates(locationListener);
    super.onDestroy();
}

Класс LocationManager, похоже, не имеет методов для остановки службы. Вот где я думал, что ты сможешь закрыть или остановить это.

Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 04 января 2011

Я думаю, вам следует удалить @Override. Я проверил это и получил ту же проблему. И с @Override мое приложение вылетает.

Я также думаю, что вы используете неправильный метод. onDestroy - последний, который вы должны выполнить. Достаточно взглянуть на документацию по упражнениям, где приведена схема, показывающая используемые методы для приложения.

текст ссылки

Я пытаюсь сделать то же самое, что и вы, и я использовал onResume и onPause для активации и деактивации LocationUpdates.

0 голосов
/ 24 сентября 2010

Вы должны вызывать finish () в функции onBackPressed (), чтобы закрыть ваше приложение.Тогда onDestroy следует вызвать.

Нет необходимости останавливать службу определения местоположения (возможно, вы говорите о GPS).GPS не будет использоваться, если нет приложения, которое его слушает, следовательно, не потребляет энергию процессора или батареи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...