Connexion Internet en pause après Android verrouillage du téléphone
Je suis en création d'application qui peut avoir lieu à l'aide de NETWORK_PROVIDER
périodiquement en arrière-plan sans l'aide de GPS_PROVIDER
. Je suis à l'aide de ALARM_SERVICE
et WakeLock
(PARTIAL_WAKE_LOCK
). mais le problème auquel je suis confronté est que la connexion internet est déconnecté une fois que l'écran s'éteint. quand je déverrouille le téléphone, je commence à recevoir l'emplacement, mais quand l'écran s'éteint, je ne reçois pas les lieux.
Est-ce parce que:
- Connexion Internet obtient en pause une fois que l'écran s'éteint et aussi quand je déverrouille l'écran-je obtenir le code USSD messages de l'Utilisation des Données, cela signifie que ma connexion internet s'éteint une fois que l'écran s'éteint?
- Même si la connexion internet est sur, mais l'emplacement n'est pas mise à jour en arrière-plan, comme l'écran est éteint.
Je suis en utilisant GpsTracker classe pour obtenir l'emplacement de ici et à l'aide de AlarmManager avoir lieu périodiquement. également dans LatLongBroadcastReceiver
classe je suis aller chercher un emplacement.
Intent intent = new Intent(GPSlatlongActivity.this,
LatLongBroadcastReceiver.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
pendingIntent = PendingIntent.getBroadcast(
GPSlatlongActivity.this.getApplicationContext(), 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime(),
(AlarmManager.INTERVAL_FIFTEEN_MINUTES / 15),
pendingIntent);
oui, je suis en train de tester sur un périphérique réel. essayé sur 4-5 appareil. Pas une telle application installée sur l'appareil qui fera une pause de connexion internet lorsque l'écran s'éteint.
Si je comprends bien, votre question est: "Est-il possible que mon appareil se déconnecte d'internet lorsque l'écran se verrouille?" En supposant que votre emplacement est la logique de travail, c'est que la formulation exacte?
Avez-vous essayer de mettre quelques journaux supplémentaires de sortie dans votre code, et de brancher l'appareil pour le débogage usb? Doit avoir un bon coup droit, à savoir si la connexion est active, ou si quelque chose va mal.
oui à droite. est-il une solution pour cela? je suis aux prises avec le problème par demi-mois. S'il vous plaît laissez-moi savoir si une solution pour cela.
OriginalL'auteur Amol Sawant 96 Kuli | 2013-11-16
Vous devez vous connecter pour publier un commentaire.
À moins que votre application a une très bonne raison de garder une connexion Wi-Fi, vous devriez vraiment essayer de respecter la préférence de l'utilisateur de désactiver le WiFi quand l'écran se verrouille. Votre demande sera rapidement provoquer le dispositif de consommer beaucoup plus de puissance en utilisant toute sorte de blocage. Comme mentionné par d'autres, dans votre cas, vous aurez besoin de la
PowerManager.PARTIAL_WAKE_LOCK
de garder le CPU en cours d'exécution (sans empêcher le verrouillage de l'écran) etWifiManager.WakeLock
pour garder la connexion Wi-Fi connecté.Vous trouverez probablement le paramètre à l'origine de ce comportement dans le cadre du système les paramètres Wi-Fi gratuite, sous paramètres Wi-Fi avancés:
Par la désactivation de ce paramètre sur un appareil mobile de données, votre emplacement réseau auditeur doit encore travailler comme Android va continuer à utiliser Google Emplacement de l'API dans l'arrière-plan pour résoudre le dispositif de localisation basée sur les tours de téléphonie cellulaire.
Si votre appareil est également d'éteindre les données, peut-être que certains d'économie d'énergie, l'application est en le désactivant. BlueEFFICIENCY et Juice Defender certaines applications qui ont une option pour cette optimisation, mais HTC et Sony ont inclus certains d'économie d'énergie
les options sur leurs appareils, qui peuvent également être présentant ce problème.
OriginalL'auteur Paul Lammertsma
Selon la documentation
WifiManager.WifiLock
Je suppose que vous avez besoin de cette serrure. L'acquisition de ce verrou si l'appareil est connecté au WiFi. Mais s'il vous plaît
Si j'ai utilisé PowerManager.FULL_WAKE_LOCK alors donne moi l'emplacement de mise à jour mais si j'ai utilisé PowerManager.PARTIAL_WAKE_LOCK. à l'aide de FULL_WAKE_LOCK écran s'allume et me donner emplacement mis à jour mais je ne veux pas faire écran. c'est pourquoi j'ai utilisé PARTIAL_WAKE_LOCK, après que je reçois des mises à jour de localisation lorsque l'écran s'éteint. S'il vous plaît aider moi. je vous remercie à l'asvance
Utilisation
PowerManager.PARTIAL_WAKE_LOCK
avecWifiManager.WifiLock
.OriginalL'auteur M-WaJeEh