Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Android kappt Netzverbindung nach Ausschalten des Displays?

Das Thema "Android kappt Netzverbindung nach Ausschalten des Displays?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 22.07.2011, 09:57   #1 (permalink)
Neuer Benutzer

Registriert seit: 20.06.2011
Beiträge: 15
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard Android kappt Netzverbindung nach Ausschalten des Displays?

Hi, ich habe in meiner App einen Service integriert, der so lange weiterlaufen soll, bis der Benutzer die App manuell über das Optionsmenü beendet. Dieser Service benötigt aber eine ständige Verbindung zum Internet, um Anfragen an einen Server stellen zu können. Bei Zustandsänderungen soll eine Benachrichtigung gesendet bzw. mit einem Standardton in der Statuszeile dargestellt werden. Kann man einen Service eine so hohe Priorität geben, dass die Netzverbindung nicht beendet wird, wenn das Display ausgeschaltet wird? Sobald ich das Display ausschaltet, sehe ich auf dem Server keine Anfragen mehr.

Geändert von txbarth (22.07.2011 um 11:06 Uhr)
txbarth ist offline   Mit Zitat antworten
Alt 22.07.2011, 16:15   #2 (permalink)
Android-Hilfe.de Mitglied

Modell: Nexus S

Registriert seit: 20.05.2011
Beiträge: 71
Abgegebene Danke: 9
Erhielt 13 Danke für 11 Beiträge
Swoop eine Nachricht über ICQ schicken
Standard AW: Android kappt Netzverbindung nach Ausschalten des Displays?

Hast du schonmal versucht Ausgaben zu machen und geschaut ob dein Service überhaupt weiterläuift?

Ich denke weniger, dass das Handy in Internetverbinung kappt, denn dann wären ja Apps wie Facebook, WhatsApp und Co aufgeschmissen...
Ich denke eher das er deinen Service in eine Art Pause-Modus versetzt, um Akku zu sparen usw.

Grüße Swoop
Swoop ist offline   Mit Zitat antworten
Alt 22.07.2011, 18:00   #3 (permalink)
Neuer Benutzer

Registriert seit: 20.06.2011
Beiträge: 15
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Android kappt Netzverbindung nach Ausschalten des Displays?

Auf dem Server sehe ich, dass manchmal noch eine Anfrage durchkommt. Mal nach 15 Minuten oder 2 Minuten, obwohl der Service einen Anfrageinterval von 5 Sekunden hat. Deshalb gehe ich jetzt davon aus, dass der Service auch läuft.
Ich habe jetzt aber trotzdem mal Kontrollausgaben in eine Datei geschrieben. Ich kann diese Datei aber nicht finden. Ich habe mit dem Astro Dateimanager danach such lassen. Wo musste ich nachsehen, wenn ich die Log-Datei wie folgt definiert habe:

String path = getFilesDir().getAbsolutePath() + File.separator + "check.log";
txbarth ist offline   Mit Zitat antworten
Alt 22.07.2011, 18:29   #4 (permalink)
Fortgeschrittenes Mitglied

Modell: Samsung Galaxy S und Galaxy 5

Registriert seit: 31.03.2011
Beiträge: 480
Abgegebene Danke: 35
Erhielt 89 Danke für 73 Beiträge
Standard AW: Android kappt Netzverbindung nach Ausschalten des Displays?

Datei liegt wahrscheinlich in
/data/data/[deinPaketName]/files

Darauf kannst Du per adb zugreifen.

Möglicherweise liegt Dein Problem auch da dran, dass das Handy die WLAN Verbindung beim Display ausschalten deaktiviert. Dieses Verhalten kann man - zumindest beim Galaxy S ändern in den WLAN Einstellungen.
JanF ist offline   Mit Zitat antworten
Alt 23.07.2011, 08:56   #5 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Android kappt Netzverbindung nach Ausschalten des Displays?

Zitat:
Zitat von txbarth Beitrag anzeigen
A
obwohl der Service einen Anfrageinterval von 5 Sekunden hat. Deshalb gehe ich jetzt davon aus, dass der Service auch läuft.
ich gehe mal davon aus, dass du 5 sekunden nur zum testen gewählt hast. denk an die akku verschwendung bei so starken polling
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 25.07.2011, 12:16   #6 (permalink)
Neuer Benutzer

Registriert seit: 20.06.2011
Beiträge: 15
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Android kappt Netzverbindung nach Ausschalten des Displays?

Hallo, ich konnte mich erst heute Morgen mit dem Problem wieder auseinandersetzen.

Also, an die Dateien in /data/data/[paket_name]/files komme ich nicht ran, da ich eine "Permission denied"-Meldung bekomme und beim Versuch root-Rechte zu erlangen (adb root), erhalte ich die Meldung "adbd cannot run as root in production builds".

Aber da man ja über die USB-Debugging Methode alle Meldungen in Eclipse bekommt, sobald man im Debug-Modus das Gerät als "Emulator" auswählt, habe ich nun feststellen müssen, dass die Netzverbindung nicht getrennt wird, sobald das Display ausgeschaltet wird. Das ist nicht gut, weil sich beim USB-Debugging Android offensichtlich anders verhält, als im Normalbetrieb.

Wenn ich nur wüsste, dass die Netzverbindung nicht getrennt wird, wenn die App eine dauerhafte Socket-Verbindung zu einem Server hält, dann würde ich auch das noch einbauen, aber so?

Bei den Mobilfunkeinstellungen ist übrigens der jederzeitge Datenempfang aktiviert. Es wird wohl nichts anderes übrig bleiben, das Display nicht auszuschalten und dann komplett abzudunkeln, um den Akku bei Nutzung der App nicht zu sehr belasten. Ideal ist das nicht.
txbarth ist offline   Mit Zitat antworten
Alt 25.07.2011, 13:17   #7 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Android kappt Netzverbindung nach Ausschalten des Displays?

deinen lösungsansatz würde ich da nochmal ganz überdenken. denn das ist alles andere als ideal

lieber das problem selbst beheben, als mit einem hack umgehen.
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 28.07.2011, 17:10   #8 (permalink)
Neuer Benutzer

Registriert seit: 20.06.2011
Beiträge: 15
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Android kappt Netzverbindung nach Ausschalten des Displays?

Ich habe nun eine Server-Applikation erstellt, mit der die Client-App sich per SocketChannels dauerhaft verbinden kann. Wenn der Datenzustand sich serverseitig ändert, teilt der Server dies dann dem Client mit, um sich die neuen Daten zu holen.

Leider wird die App komplett angehalten, sobald in der Hauptaktivität onPause() aufgerufen wird, inklusive des "Foreground-Services", der für die Verbindung zum Server und die Datenabfragen zuständig ist. Der Service läuft aber nicht im Hauptthread der App, es wird mit dem Service ein WorkerThread gestartet, der eigentlich erst enden soll, wenn die Applikation explizit über das Optionsmenü beendet wird.
Die Frage im Betreff müsste ich nun umformulieren: Warum werden java.lang.Threads in einem (Vordergrund-)Service nach Ausschalten des Displays eingefroren, und laufen ohne Ausnahmefehler weiter, sobald das Display wieder angeschaltet wird? Und durch was muss ich dann so einen Thread ersetzen, damit der Service wirklich im Hintergrund (Display aus) weiterläuft?

Geändert von txbarth (29.07.2011 um 13:59 Uhr) Grund: Es ist doch anders
txbarth ist offline   Mit Zitat antworten
Alt 29.07.2011, 15:11   #9 (permalink)
Neuer Benutzer

Registriert seit: 20.06.2011
Beiträge: 15
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Android kappt Netzverbindung nach Ausschalten des Displays?

Hier kann man sehen, dass die Threads, die die Kontrollausgaben erzeugen, von onPause() bis onResume() eingefroren werden. onPause() wurde hier durch Ausschalten des Displays ausgelöst.

Code:
2011-07-29 14:58:35 ServiceHandler.handleMessage() warte 3 seconds
2011-07-29 14:58:38 ServiceHandler.handleMessage() warte 3 seconds
2011-07-29 14:58:38 act=session
2011-07-29 14:58:41 ServiceHandler.handleMessage() warte 3 seconds
2011-07-29 14:58:43 act=session
2011-07-29 14:58:44 ServiceHandler.handleMessage() warte 3 seconds
2011-07-29 14:58:44 MainActivity.onPause()
2011-07-29 14:59:20 MainActivity.onResume()
2011-07-29 14:59:20 ServiceHandler.handleMessage() warte 3 seconds
2011-07-29 14:59:22 act=session
2011-07-29 14:59:23 ServiceHandler.handleMessage() warte 3 seconds
2011-07-29 14:59:26 ServiceHandler.handleMessage() warte 3 seconds
2011-07-29 14:59:27 act=session
Ich habe es im Grunde so implementiert, wie es hier im Beispiel "Extending the service class" Services | Android Developers gezeigt wird. Jemand eine Idee, warum selbst ein HandlerThread, für den es ja extra noch den Parameter Process.THREAD_PRIORITY_BACKGROUND gibt, trotzdem eingefroren wird?

Code:
HandlerThread thread = new HandlerThread("ServiceStartArguments",
                                             Process.THREAD_PRIORITY_BACKGROUND);
    thread.start();
txbarth ist offline   Mit Zitat antworten
Alt 29.07.2011, 16:04   #10 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Android kappt Netzverbindung nach Ausschalten des Displays?

Also ein HandlerThread ist etwas anderes als ein Service, sondern halt nur ein Thread in deiner App.

Ein Service entspricht dann einem eigenen Prozess, der unter der selben Userid wie deine App läuft. Und das scheint mir das zu sein, was du willst.
__________________
Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon.
Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten.
Tipp: Zum "Danke" sagen gibt es einen Button.
DieGoldeneMitte ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Nach JIG Benutzung kein Ausschalten des SGS 2 möglich - Reboot LaBro83 Root / Hacking / Modding für Samsung Galaxy S2 22 12.07.2011 13:38
Symbole verschwinden nach Ausschalten des Handys pug99 Samsung Galaxy 3 (I5800) Forum 6 22.04.2011 14:04
autom. ausschalten des Displays bei ausgehendem Telefonat verhindern GalaxyTab4ever Samsung Galaxy Tab Forum 1 20.04.2011 11:47
Lockscreen erscheint nicht direkt nach Einschalten des Displays Dana_X LG P990 Optimus Speed Forum 22 03.04.2011 19:27
Milestone piepst nach ausschalten des Bildschirms sepp master Motorola Milestone Forum 3 03.11.2010 11:20




Du liest gerade: "Android kappt Netzverbindung nach Ausschalten des Displays?" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.