2011-11-14 3 views
2

Je fais application de chat sur Android, tout fonctionne bien sauf lorsque l'appareil se met en veille (disons 30-45 minutes), puis quand j'envoie un message d'instance via un autre appareil que je peux Ne pas l'obtenir ou obtenir la notification sur le premier appareil pendant que les notifications et les messages instantanés sont obtenus alors que les appareils ne sont pas en mode veille. Le problème que je reçois est avec le socket, l'exception est la réinitialisation de la connexion, je sais que cela se produit si l'un des sockets côté serveur ou côté client est fermé, mais côté serveur n'est pas fermé.mode de sommeil android, réinitialisation des sockets

Sur les deux appareils, le mode Wi-Fi est désactivé, même en mode veille, le Wi-Fi fonctionne sur les deux appareils.

De plus, j'ai implémenté un service et que les services exécute un thread qui traite les communications socket socket.

Répondre

0

Le problème est peut-être que l'application elle-même a été supprimée ou mise dans un autre état de cycle de vie qui l'empêche de recevoir des messages. Je pense que vous devrez implémenter un fond service à l'écoute des messages. Cela découplera l'écoute des messages d'une activité particulière, etc. Puis, lorsqu'un message est reçu, vous pouvez simplement afficher une notification qui, une fois cliquée, ouvre l'application pour afficher le message similaire au fonctionnement de Google Talk ...

+0

C'est ce qui est fait exactement, j'ai mis en place un service et que les services exécute un thread qui traite les communications socket socket. –

+0

Plz post comment mettre en œuvre le service de fond afin que je puisse le comparer avec le mien, que chez adavance –