K
KurrKurr
Fortgeschrittenes Mitglied
- 24
Hallo Leute,
Ich hab mich erst vor kurzem begonnen, mich mit Android auseinanderzusetzen. Bitte steinigt mich nicht gleich. Ich hab auch schon die Suche beansprucht, dabei ist aber nichts herausgekommen.
Folgendes Szenario:
Ich schreibe grade ein Plug-In für Locale, welches hört, ob sich der Verindungsstatus irgendwie ändert (home, roaming, etc.). Ich hab schon einige Zeit gebraucht, bis ich überrissen habe, wie genau die Locale-Anbindung funktioniert.
Ich stehe jetzt vor folgendem Problem: Ich habe einen Receiver per XML deklaration registriert, der auf "ConnectivityManager.CONNECTIVITY_ACTION", also auf gebroadcastete "android.net.conn.CONNECTIVITY_CHANGE"-Intents reagiert.
Es funktioniert zwar alles, aber eben nur EIN EINZIGES MAL. Ich bin mittlerweile draufgekommen, dass nach dem aufruf der onReceive()-Methode die Lebenszeit des Receivers um ist.
Gibt es jetzt eine Möglichkeit, diesen Receiver wieder zu registrieren, nachdem er das Intent empfangen hat und nach onReceive() aufgehört hat zu existieren?
Ein Service wäre zwar eine Möglichkeit, aber dieser würde dann, womöglich für eine sehr lange Zeit ungenutzt im Speicher herumgammenln und nur Ressourcen vergeuden. Deshalb habe ich mir überlegt, ob ich nicht den Receiver noch einmal starten kann.
Ginge das über den umweg über eine Activity, die natürlich nicht sichtbar sein soll?
Ich stehe hier etwas an. Vielleicht könnte mir jemand einen Hinweis in die Richtige Richtung geben. Ein Link oder so würde schon reichen; Den Rest recherchiere ich dann schon.
Grüße,
Chris
[Edit]
P.S.: Könnte vl. ein Moderator den Rechtschreibfehler im Titel ausbessern? Es sollte Newbiefrage und nicht Newbiefrge heißen... (kann ich das denn nicht selbst?)
Ich hab mich erst vor kurzem begonnen, mich mit Android auseinanderzusetzen. Bitte steinigt mich nicht gleich. Ich hab auch schon die Suche beansprucht, dabei ist aber nichts herausgekommen.
Folgendes Szenario:
Ich schreibe grade ein Plug-In für Locale, welches hört, ob sich der Verindungsstatus irgendwie ändert (home, roaming, etc.). Ich hab schon einige Zeit gebraucht, bis ich überrissen habe, wie genau die Locale-Anbindung funktioniert.
Ich stehe jetzt vor folgendem Problem: Ich habe einen Receiver per XML deklaration registriert, der auf "ConnectivityManager.CONNECTIVITY_ACTION", also auf gebroadcastete "android.net.conn.CONNECTIVITY_CHANGE"-Intents reagiert.
Es funktioniert zwar alles, aber eben nur EIN EINZIGES MAL. Ich bin mittlerweile draufgekommen, dass nach dem aufruf der onReceive()-Methode die Lebenszeit des Receivers um ist.
Gibt es jetzt eine Möglichkeit, diesen Receiver wieder zu registrieren, nachdem er das Intent empfangen hat und nach onReceive() aufgehört hat zu existieren?
Ein Service wäre zwar eine Möglichkeit, aber dieser würde dann, womöglich für eine sehr lange Zeit ungenutzt im Speicher herumgammenln und nur Ressourcen vergeuden. Deshalb habe ich mir überlegt, ob ich nicht den Receiver noch einmal starten kann.
Ginge das über den umweg über eine Activity, die natürlich nicht sichtbar sein soll?
Ich stehe hier etwas an. Vielleicht könnte mir jemand einen Hinweis in die Richtige Richtung geben. Ein Link oder so würde schon reichen; Den Rest recherchiere ich dann schon.
Grüße,
Chris
[Edit]
P.S.: Könnte vl. ein Moderator den Rechtschreibfehler im Titel ausbessern? Es sollte Newbiefrage und nicht Newbiefrge heißen... (kann ich das denn nicht selbst?)