Background App

numanoid

numanoid

Dauergast
460
Ich möchte eine App schreiben, die nach dem Start (z.B. durch einen Button) im Hintergrund weiter läuft. Dort soll sie regelmässig z.B. alle 30 Minuten von einem Server nach Aufträgen pollen und falls vorhanden ausführen. Als Oberflächen-App existiert das Ganze schon, d.h. die eigentlichen Aktionen sind schon implementiert.

Was mir noch unklar ist:

- das Ganze ist dann doch als SERVICE zu implementieren?! Aber was heisst das genau? Denn ich warte ja nicht auf ein Ereignis wie z.B. SMS Eingang.
-> weiss jemand wie die Architektur grob auszusehen hat (Service,Thread,...)

- gibt es eine Timerfunktion, die mich nach einer gewissen Zeit aufweckt? Ich möchte ja nicht im Sekunden-Takt pollen, ob eine bestimmte Zeit erreicht ist.
 
Also wenn du auf SMS wartest, kannst du einen Broadcast Receiver verwenden, der einen Service startet.
Wenn du einen Service nutzen willst, um Daten von einem Webserver abzufragen, regestrierst du dich beim Alarm Manager, welcher aller 30 Minuten deinen Service startet.
Hier findest du eine gute Beschreibung und ein gutes Tutorial:
Hintergrundprozesse in Android (Teil 1): Started Services – What the droid?
Gruß
 
Vielen Dank für den Hinweis und das Tutorial. Das behandelt wirklich schon kompakt was ich so brauche.

Ich muss mal ein paar Tests machen. Denn es ist schon seltsam wie beschrieben, dass ein Alarm obwohl mit RTC konfiguriert nicht auslöst wenn das Display aus ist, und man dafür mit dem PowerManager herumhantieren müsste (siehe Diskussion nach dem Tutorial).

Ausserdem wird das Intervall letztlich dynamisch vom Server vorgegeben, und ich weiss noch nicht, ob ich in einem Thread des Services überhaupt Zugriff auf den AlarmManager habe um mich quasi selbst wieder zu 'schedulen'.

Aber das ist schon mal ein Einstieg, wo man selbst mit spielen kann, Danke.
 
blackfire185 schrieb:

Habe das Tutorial nicht durch gearbeitet, mehr überflogen!

Ich glaube um die Powermanager Sache, man kommt nicht herum, weil deepsleep usw.

Jetzt muss ich eine Frage stellen, ist es nicht so das ich eine Funktion erzeuge, sie ans os Übergebe und dabei noch Angabe in welchen Interval und Android ruft im Interval meine Funktion auf ?

Weil wenn ich mir mein e-mail prog anschaue kann ich den intervall einsteillen, manuel, dann sollte es doch auch möglich sein den interval ,zb. per http request, einstellen zulassen und diesen zu folgen.

Es gibt doch sicherlich in Android eine Zentrale für sowas.
 

Ähnliche Themen

Manny87
  • Manny87
Antworten
11
Aufrufe
165
swa00
swa00
R
  • Robby1950
2
Antworten
23
Aufrufe
1.015
Robby1950
R
netfreak
  • netfreak
Antworten
10
Aufrufe
457
netfreak
netfreak
Zurück
Oben Unten