J'appelle une connexion HTTPS du service Web de la classe Service qui est appelée par le gestionnaire d'alarme toutes les 1 min.Lorsque je démarre le service fonctionne correctement j'obtiens la réponse du service Web jusqu'à ce que l'appareil passe en mode veille. off, sur le prochain appel de service web, je reçois ce eRROR-pourquoi je reçois SoketTimeOutException en mode veille de l'appareil?
com.turbomanage.httpclient.HttpRequestException: java.net.SocketTimeoutException: connect timed out
continuera jeter cette exception jusqu'à ce que je Wakeup l'appareil device.When obtenir Wakeup le webservice commencer à obtenir la réponse du serveur et je ne reçois pas exception alors . Alors s'il vous plaît quelqu'un me dire quel pourrait être le problème.Le dispositif de test est Nexsus 5X.
alors quelle est la solution alors? – shyam002
@ shyam002: Je ne sais pas quel est le problème. Il n'y a aucune garantie que vous disposerez d'une connexion Internet à tout moment, pour toutes sortes de raisons (par exemple, le mode avion). Vous devriez gérer cela comme vous le feriez pour tout autre manque de connectivité. – CommonsWare
@ shyam002: Si vous souhaitez maximiser les chances que vous ayez une connexion Internet en mode veille sur Android 6.0+, demandez à l'utilisateur d'ajouter votre application à la liste blanche d'optimisation de la batterie. Sur un Nexus 5X fonctionnant sous Android 7.1.1, c'est Paramètres> Applications> (icône engrenage)> Accès spécial> Optimisation de la batterie. Cependant, vous devez reconnaître que les utilisateurs ne peuvent pas le faire, ou ils peuvent changer d'avis et supprimer votre application de cette liste s'ils n'aiment pas la quantité de batterie utilisée par votre application. – CommonsWare