Teil einer App als Service ausführen

  • Antworten:6
Addyk2
  • Forum-Beiträge: 21

02.09.2013, 11:45:43 via Website

Hallo zusammen,

wie kann ich einen Teil meiner APP als Service automatisch starten lassen, sodass es im Hintergrund läuft?

Es geht um folgendes: Der Teil, der als Service gestartet werden soll, soll regelmäßig im Hintergrund überprüfen, ob das Handy per WLAN verbunden ist, und dann eine Notification mit dem Name des WLANS ausgeben.

Den Code dafür habe ich schon fertig, aber wie krieg ich es hin dass dieser Teil, der das üperprüft und die Notification ausgibt, ständig im Hintergrund läuft?

Antworten
impjor
  • Forum-Beiträge: 1.793

02.09.2013, 12:59:42 via Website

Das, was du vorhast ist eine gaaaaanz schlechte Idee:bashful:

Suche mal lieber bei Google nach BroatcastReciever, die führen einen bestimmten Code-Teil aus, wenn etwas passiert (z.B. WLAN an/aus).

Hier noch ein Link von stackoverflow: http://stackoverflow.com/questions/10733121/broadcastreceiver-when-wifi-or-3g-network-state-changed

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Addyk2
  • Forum-Beiträge: 21

02.09.2013, 15:37:09 via Website

Ok vielen Dank schonmal :-)

Warum ist das eine schlechte Idee?
Und wo ist der Unterschied zwischen einem Service und einem Broadcast?

Antworten
impjor
  • Forum-Beiträge: 1.793

02.09.2013, 15:41:45 via Website

Ein Service wird im Hintergrund ausgeführt, z.B. um eine Datei zu downloaden, auch wenn die eigentliche Activity nicht im Vordergrund ist.
Der Service wird von (d)einer App gestartet.
Der BroatcastReciever wird vom Android OS gestartet, wenn eine bestimmte Aktion eintritt.
Z.B.: Das Phone wird gestartet, WLAN an/aus, etc. pp.

Dein Service verbraucht ständig Akku/CPU, nur um immer wieder zu prüfen ob WLAN an ist. Der BroatcastReciever braucht nix, bis WLAN wirklich angemacht wird.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Addyk2
  • Forum-Beiträge: 21

02.09.2013, 15:52:12 via Website

Super erklärt, habs verstanden :-)

Aber was passiert, wenn meine App geschlossen wird bzw. verlassen wird, kann sie trotzdem weiterhin Nachrichten per Broadcast empfangen und verarbeiten?

LG

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

02.09.2013, 18:25:34 via Website

Statische werden aufgerufen, also die die du im Manifest Einträgst.

— geändert am 02.09.2013, 18:25:46

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Addyk2
  • Forum-Beiträge: 21

04.09.2013, 19:34:22 via Website

Also geht das auch, wenn meine App geschlossen wird? Kann sie dann weiterhin "Nachrichten" von Broadcasts empfangen und entsprechende Aktionen ausführen?

Um mal ein Beispiel zu nennen: Sobald das Handy nicht mehr mit einem WLAN verbunden ist, soll der Datenverkehr komplett abgeschaltet werden.
Egal ob die App, in der man diese o.g. Einstellung aktivieren kann, geöffnet oder geschlossen wurde.

— geändert am 04.09.2013, 19:54:10

Antworten