Java 如何在onDestroy中执行方法?
我正在使用服务器编写一个android应用程序。当用户退出活动(将其从最近的活动中删除)时,我希望在销毁活动之前关闭连接并在服务器端进行一些修改。因此,我阅读了有关活动生命周期的内容,发现我需要在Java 如何在onDestroy中执行方法?,java,android,ondestroy,Java,Android,Ondestroy,我正在使用服务器编写一个android应用程序。当用户退出活动(将其从最近的活动中删除)时,我希望在销毁活动之前关闭连接并在服务器端进行一些修改。因此,我阅读了有关活动生命周期的内容,发现我需要在onDestroy()中编写关闭连接的最后一个调用。所以我所做的是: 主要活动: @Override public void onDestroy() { super.onDestroy(); try { ConnectionHandler.close(); } c
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()
方法。当用户关闭活动时,我应该如何执行此方法?您必须在代码之后编写super.ondestory
。
尝试:
好的,我修复了一些错误,但是当使用
onDestroy()时,它会发送null;当从另一个地方调用它时,而不是从onDestroy()时,它会发送带有“client”“close”字符串的json
@Override
public void onDestroy()
{
try {
ConnectionHandler.close();
} catch (IOException e) {
e.printStackTrace();
}
super.onDestroy();
}