Android app doens't call "onDestroy()" when killed (ICS)
===

I'm developing an android app using bluetooth communication (using a propetary protocol) and I need to catch the moment when the app is killed.

I wanted to use the "onDestroy()" method but it isn't called every time the app is killed.
I noticed that it is called when I press the back button and, only sometimes, when I kill the app from the task manager.

The question is: How can I catch the moment before the app is killed?

Here is the code I tried to use:

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


Unfortunately finish() is never called and onDestroy isn't called every time I close the app from the task manager. 

How can I handle this?