режим сна android, исключение сброса сокетов - PullRequest
2 голосов
/ 14 ноября 2011

Я делаю приложение для чата поверх Android, все работает хорошо, за исключением случаев, когда устройство переходит в спящий режим (скажем, через 30-45 минут), затем, когда я отправляю сообщение любого экземпляра через другое устройство, я не могу его получить или получитьуведомление на первом устройстве при получении уведомлений и мгновенных сообщений, когда устройства не находятся в спящем режиме.

Проблема, которую я получаю, связана с сокетом, за исключением сброса соединения, я знаю, что это происходит, если один из сокетов либосторона сервера или сторона клиента закрыта, но на стороне сервера не закрыта.

На обоих устройствах wifi отключен, поэтому даже в спящем режиме wifi работает на обоих устройствах.

Также, Я реализовал Службу, и эта служба запускает поток, который обрабатывает сообщения сокетов.

1 Ответ

1 голос
/ 14 ноября 2011

Проблема может заключаться в том, что само приложение было убито или переведено в другое состояние жизненного цикла, которое не позволяет ему получать сообщения. Я думаю, вам нужно реализовать фон service, который прослушивает сообщения. Это отсоединит прослушивание сообщений от каких-либо определенных действий и т. Д. Затем, когда сообщение получено, вы можете просто отобразить уведомление, которое при нажатии открывает приложение для отображения сообщения, аналогичного тому, как работает Google Talk ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...