App soll im Standby weiter laufen

  • Hallo,


    ich bastel gerade an einer App, die im Standby weiter laufen soll. Speziell geht es dabei um einen Timer der alle paar Sekunden/Minuten (je nachdem wie der Nutzer es eingestellt hat) aufgerufen werden soll. Der Timer muss dann kurz was im Internet erledigen und unter Umständen soll das Handy dann vibrieren.
    Also, Problem: Wenn ich das Handy abschalte scheint die App nicht weiter zu laufen, auf jeden Fall vibriert es nicht, erst wenn ich es wieder aufwecke. Wie bekomme ich das hin, dass das funktioniert? WhatsApp schaffts ja z.B. auch ;)

  • Was meinst du mit "Zeit"? Ich will dass ne Funktion ausgeführt wird im regelmäßigen Abstand, egal ob das Handy an oder aus ist. Geht das mit nem Alarm? Das sieht nämlich deutlich einfacher aus, bei dem Service beiße ich mir gerade die Zähne aus...

  • Wenn das Handy aus ist, dann geht's eher nicht. Dann müsstest du es erst einschalten, so viel wollen wir schon mal festhalten.


    Und so was kann dann nur zeitgesteuert funktionieren - eine gute Wecker-App sollte das ja auch können... B-)


    Wenn du möchtest, dass etwas weiterläuft, auch wenn die Activity vom Schirm verschwindet, kommst du um 'nen Service nicht herum. Und BroadcastReceiver wird dann auch nötig sein, denn den Systemstart wirst du dem Handy überlassen müssen.


    Es gibt für's Manifest android.permission.DEVICE_POWER und android.permission.BRICK - aber die wohl eher zum ausschalten. Wahrscheinlich wirst du irgend einen Service von Android finden müssen, der das Gerät einschaltet und dir eine Broadcast Message zuschickt.

  • Moin,


    habe gerade nochmal etwas weiter gebastelt und mich mit den Services rumgeprügelt. Da muss ich mal sagen, dass die Doku schlecht ist, es werden irgendwelche Klassen verwendet, die nicht beim SDK dabei sind und auch nicht vorher definiert wurden :(
    Wie auch immer. Muss ich noch was in sachen Permissions oder so machen, um ein Service zu erstellen und mich zu dem zu verbinden? Momentan passiert einfach gar nichts, wenn ich mich mit bindService(...) verbinden will.

  • Muss ich den service unbedingt mit startService() starten? Habe gelesen das muss man nur wenn der Service nicht Teil der eigenen App ist...
    Edit: Im Log bekomme ich immer diese Meldung: Unable to start service Intent { cmp=site.watch/.LocalService }: not found

  • Ein Service kann entweder über einen Broadcast Receiver gestartet werden oder
    über eine Activity und da mit startService.



    Lies bzw arbeite das Tutorial mal durch bzw lies das SDK zum Thema Service dann solltest die Arbeitsweise von Services verstehen, wenn nicht einfach noch mal durchlesen. bzw Google anwerfen, zum Thema Services gibt es gefühlte 1000 Blogeinträge.

  • Hallo,


    ich bastel gerade an einer App, die im Standby weiter laufen soll. Speziell geht es dabei um einen Timer der alle paar Sekunden/Minuten (je nachdem wie der Nutzer es eingestellt hat) aufgerufen werden soll. Der Timer muss dann kurz was im Internet erledigen und unter Umständen soll das Handy dann vibrieren.
    Also, Problem: Wenn ich das Handy abschalte scheint die App nicht weiter zu laufen, auf jeden Fall vibriert es nicht, erst wenn ich es wieder aufwecke. Wie bekomme ich das hin, dass das funktioniert? WhatsApp schaffts ja z.B. auch ;)


    Ich hab genau das gleiche Problem. Ich spiele nach Ablauf eines Timers einen Sound ab. Ich hab keinen Service verwendet.


    Die Vorschläge mit dem Service machen schon Sinn. Das werde ich später auch mal probieren.


    Aber jetzt zu meinem aktuellen Problem:


    Das komische bei mir ist nämlich, dass das mit dem Timer und dem Sound bei einem "Sony Ericsson Xperia arc S" auch nach dem Standby funktioniert, bei einem "Samsung Nexus S" aber nicht.


    Hat da jemand ne Idee dazu? Das scheint nämlich so, dass bei einem normalen Programm im Standby nicht immer alles gestoppt wird.


    Den Timer hab ich übrigens über einen "Handler" realisiert.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!