我的应用程序中有一个套接字连接,当我最小化应用程序并打开其他应用程序然后我的应用程序已死(可能是Android操作系统做了优化)但应用程序未在最小化状态下被杀死,当我用任务窗口打开应用程序然后我的套接字连接给出了这条消息的日志:
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
答案 0 :(得分:1)
尝试在后台服务中运行套接字,并在每次销毁(杀死)应用时使用BroadcastReciever。
@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));
}