Android 应用程序死机时,Socket.io连接不工作
我的应用程序中有一个套接字连接,当我最小化应用程序并打开其他应用程序时,我的应用程序已死亡(可能是Android操作系统进行了优化),但应用程序在最小化状态下未被杀死,当我使用任务窗口打开应用程序时,我的套接字连接会显示以下消息的日志:Android 应用程序死机时,Socket.io连接不工作,android,sockets,Android,Sockets,我的应用程序中有一个套接字连接,当我最小化应用程序并打开其他应用程序时,我的应用程序已死亡(可能是Android操作系统进行了优化),但应用程序在最小化状态下未被杀死,当我使用任务窗口打开应用程序时,我的套接字连接会显示以下消息的日志: I/SOCKET_CON: io.socket.client.Socket@41554cb0 EVENT_RECONNECT_ATT I/SOCKET_CON: io.socket.client.Socket@41554cb0 reconnecting I/SO
I/SOCKET_CON: io.socket.client.Socket@41554cb0 EVENT_RECONNECT_ATT
I/SOCKET_CON: io.socket.client.Socket@41554cb0 reconnecting
I/SOCKET_CON: io.socket.client.Socket@41554cb0 reconnect error
I/SOCKET_CON: io.socket.client.Socket@41554cb0 EVENT_RECONNECT_ATT
I/SOCKET_CON: io.socket.client.Socket@41554cb0 reconnecting
I/SOCKET_CON: io.socket.client.Socket@41554cb0 reconnect error
尝试在后台服务中运行套接字,并在每次销毁(杀死)应用程序时使用BroadcastReceiver
@Override
public void onDestroy() {
super.onDestroy();
sendBroadcast(new Intent("MyService"));
}
这将是你的接受者
public class RestartServiceReceiver extends BroadcastReceiver {
private static final String TAG = "RestartServiceReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.e(TAG, "onReceive");
context.startService(new Intent(context.getApplicationContext(), MyService.class));
}
我有一个后台服务,但我无法获取应用程序被终止时调用服务的appondestory()的事件终止(非终止)状态。您可以在服务中覆盖它。您无法获得死区状态,如果您的应用最小化,则表示它仅处于运行状态。死区套接字回调后出现此重新连接错误:java.net.ProtocolException:预期HTTP 101响应,但为“502坏网关”