2016-06-13 5 views
-1

У меня есть сокет-соединение в моем приложении, когда я сворачиваю приложение и открываю другое приложение, тогда мое приложение мертво (возможно, ОС Android оптимизировалось), но приложение не убивается при минимизации состояние и когда я открываю приложение с окном задач, то мое гнездо подключения дает журнал это сообщение:Socket.io соединение не работает, когда приложение Dead

I/SOCKET_CON: [email protected] EVENT_RECONNECT_ATT 
I/SOCKET_CON: [email protected] reconnecting 
I/SOCKET_CON: [email protected] reconnect error 
I/SOCKET_CON: [email protected] EVENT_RECONNECT_ATT 
I/SOCKET_CON: [email protected] reconnecting 
I/SOCKET_CON: [email protected] reconnect error 

ответ

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)); 

} 
+0

У меня есть фоновая служба, но я не могу получить событие DEAD (не убивать) состояние для приложения – Hayk

+0

OnDestroy() вашей службы вызываются, когда приложение получает убито. Вы можете переопределить его в своем сервисе –

+0

, вы не можете получить мертвое состояние, если приложение свернуто, это означает, что оно работает только в режиме. –

Смежные вопросы