У меня есть служба, которая работает нормально при запуске, но когда я пытаюсь остановить ее с помощью метода stopService, метод onDestroy не вызывается.
Вот код, который я использую, чтобы остановить Службу
stop_Scan_Button = (кнопка) findViewById (R.id.stopScanButton);
stop_Scan_Button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Log.d("DEBUGSERVICE", "Stop Button pressed");
Intent service = new Intent(CiceroEngine. CICERO_SERVICE);
releaseBind();
Log.d("Stop_Scan_Button", "Service: " + service.toString());
stopService(service);
Log.d("Stop_Scan_Button", "Service should stop! ");
}
});
Правильно ли я считаю, что при использовании stopService вызывается метод Сервиса onDestroy? Когда я нажимаю кнопку остановки сканирования, метод onDestroy()
в моей службе не вызывается.
Есть ли что-то еще, что мне не хватает, что я должен вставить, чтобы остановить службу?
РЕДАКТИРОВАТЬ: для добавления onServiceConnected()
вызывается при запуске stopService вместо onServiceDisconnected()
, почему это происходит?
РЕДАКТИРОВАТЬ: Чтобы добавить больше информации о связывании
Я вызываю bindService в методе onCreate (), а затем у меня метод releaseBind () отменяет привязку Сервиса.
Вот код для этого метода:
public void releaseBind(){
unbindService(this);
}
Итак, я предполагаю, что развязка не моя проблема?