检测应用程序终止,Android

bit*_*tes 0 android session-variables android-lifecycle

我需要一种方法来检测我的应用程序何时关闭,以便我可以告诉Web服务器清除它存储的会话变量.有没有办法做到这一点?

gid*_*eon 5

我假设您的应用程序扩展了Activity.

你可以使用这个onDestroy()方法:

来自文档:

onDestroy()是在您的活动被销毁之前收到的最终通话.这可能是因为活动正在完成(有人称为finish(),或者因为系统暂时销毁此活动实例以节省空间.您可以使用isFinishing()方法区分这两种情况.

您的代码如下所示:

public class YourAppActivity extends Activity {
     ...
     ...

     @Override
     protected void onDestroy() {
         super.onDestroy();
         //clear your session variable. 
         //you may want to do this quick, and on another thread 
         //to prevent android from killing your app
     }
 }
Run Code Online (Sandbox Code Playgroud)