Android-App ruft beim Beenden nicht "onDestroy ()" auf (ICS)

Ich entwickle eine Android-App mit Bluetooth-Kommunikation (unter Verwendung eines Propetary-Protokolls) und muss den Moment erfassen, in dem die App beendet wird.

Ich wollte die "onDestroy ()" - Methode verwenden, aber sie wird nicht jedes Mal aufgerufen, wenn die App beendet wird. Mir ist aufgefallen, dass es aufgerufen wird, wenn ich die Zurück-Taste drücke und nur manchmal, wenn ich die App über den Task-Manager beende.

Die Frage ist: Wie kann ich den Moment erfassen, bevor die App beendet wird?

Hier ist der Code, den ich verwendet habe:

@Override
public void onDestroy() {
    sendMessage(msg);
    Log.d("SampleApp", "destroy");
    super.onDestroy();
}

@Override
public void finish(){

    sendMessage(msg);
    Log.d("SampleApp", "finish");
    super.finish();
}

Leider wird finish () nie aufgerufen und onDestroy wird nicht jedes Mal aufgerufen, wenn ich die App vom Task-Manager aus schließe.

Wie kann ich damit umgehen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage