Я создал службу Intent и спроектировал ее таким образом, чтобы она имела возможность перезапустить себя, если ее убила ОС, но если она остановлена пользователем, она должна быть остановлена.
Все шло хорошо. Но проблема возникла, когда я попытался реализовать обработчик сообщений и методы привязки.
Что я сделал
Моей единственной целью было получить статус от службы (которая в моем случае является службой намерений) и обновить мои взгляды. Для этого я реализовал обработчик сообщений и начал связывать службу.
Я связываю свою службу таким образом
//This is my interface to get specific call back in activity
mReceiver = new DownloadResultReceiver(new Handler());
mReceiver.setReceiver(ListSuitClass.this);
serviceIntent = new Intent(DownloadService.ALARM_SERVICE);
serviceIntent.setClass(ListClass.this, DownloadService.class);
serviceIntent.putExtra("receiver", mReceiver);
serviceIntent.putExtra("requestId", 101);
startService(serviceIntent);
}
if (!mIsBound) {
bindService(serviceIntent, mConnection, BIND_DEBUG_UNBIND);
mIsBound = true;
}
Проблема
Я хочу остановить службу с помощью кнопки «Стоп», но она останавливается на некоторое время и начинается снова. Я не знаю, что я делаю не так, И что опять начинается служба.
Пожалуйста, помогите мне остановить службу.
Примечание. Я запускаю свою службу в отдельном процессе.