如何在onDestroy中执行方法?

时间:2014-05-31 09:30:21

标签: java android ondestroy

我正在使用服务器编写Android应用程序。当用户退出活动(从最近的活动中删除它)时,我想在销毁活动之前关闭连接并在服务器端进行一些修改。所以我读到了活动生命周期,我发现我需要编写最后一次调用来关闭onDestroy()中的连接。所以我做了什么:

主要活动:

@Override
public void onDestroy()
{
    super.onDestroy();
    try {
        ConnectionHandler.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

连接处理程序:

public static void close() throws IOException {
    try {
        JSONObject json = new JSONObject();
        json.put("client", "close");

        mConnectionHandler.new AsyncSendToServer().execute(json.toString());
    } catch (JSONException e) {
        e.printStackTrace();
    }
    socket.close();
}

邮件传输正在运行,但活动未执行ConnectionHandler.close()方法。当用户关闭活动时,我该怎么做才能执行此方法?

1 个答案:

答案 0 :(得分:1)

您必须在代码后面写super.onDestroy。 尝试:

@Override
public void onDestroy()
{
    try {
        ConnectionHandler.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    super.onDestroy();
}