姬長信(Redy)

Android应用在被杀时不会调用“onDestroy()”(…


我正在开发一个使用蓝牙通信的Android应用程序(使用一个propetary协议),我需要抓住应用程序被杀的那一刻.

我想使用“onDestroy()”方法,但每次应用程序被杀死时都不会调用它.
我注意到当我按下后退按钮时会调用它,有时只有当我从任务管理器中删除应用程序时才会调用它.

问题是:我怎样才能抓住应用程序被杀之前的那一刻?

这是我试图使用的代码:

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

@Override
public void finish(){

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

不幸的是,每次我从任务管理器关闭应用程序时都不会调用finish()并且不会调用onDestroy.

我怎么处理这个?