
GMoN
Dauer-User
- 508
Habe keine Ahnung, wieso das Powermangent von Android so kompliziert ist. Als Symbianprogrammierer brauchte ich mir darum keine Gedanken machen. Anwendungen laufen da solange, bis sie vom User beendet werden und die Betriebs und Standbyzeiten sind bei Symbian sogar eher besser.
Meine Anwendung sammelt GPS, Cell und Wifi Daten und gleicht diese ständig mit Datenbanken ab. Das soll solange passieren, bis der User die Anwendung beendet. Also brauche ich einen WakeLock und zwar den PARTIAL_WAKE_LOCK. Bis auf einige Events, die damit wohl auch nicht kommen, klappt das soweit. Nun möchte ich aber eine Option einbauen, dass der User das Display ständig anlassen kann. Ein SCREEN_BRIGHT_WAKE_LOCK scheidet aus, da hierbei der User unbeabsichtig das Programm mit der Powertaste stoppen könnte.
Also dachte ich mir, PARTIAL_WAKE_LOCK lassen und dann mit userActivity(when, noChangeLights) den Inacitivity Counter resetten. Dann sollte ja das Display angehen. Wenn man den Call in einen Timer alle 14 sec aufruft, müßte das Display ja immer an bleiben. Nur klappt das leider nicht. Was mache ich da falsch? Welchen Wert muss ich für "when" eingeben, die Beschreibung verstehe ich nicht.
Meine Anwendung sammelt GPS, Cell und Wifi Daten und gleicht diese ständig mit Datenbanken ab. Das soll solange passieren, bis der User die Anwendung beendet. Also brauche ich einen WakeLock und zwar den PARTIAL_WAKE_LOCK. Bis auf einige Events, die damit wohl auch nicht kommen, klappt das soweit. Nun möchte ich aber eine Option einbauen, dass der User das Display ständig anlassen kann. Ein SCREEN_BRIGHT_WAKE_LOCK scheidet aus, da hierbei der User unbeabsichtig das Programm mit der Powertaste stoppen könnte.
Also dachte ich mir, PARTIAL_WAKE_LOCK lassen und dann mit userActivity(when, noChangeLights) den Inacitivity Counter resetten. Dann sollte ja das Display angehen. Wenn man den Call in einen Timer alle 14 sec aufruft, müßte das Display ja immer an bleiben. Nur klappt das leider nicht. Was mache ich da falsch? Welchen Wert muss ich für "when" eingeben, die Beschreibung verstehe ich nicht.
Soll das eine Art verzögerter Wakeup sein? Unabhängig vom Timer und WakeLock bleibt schon der Aufruf im oncreate ohne Wirkung. Fehlermeldungen gibt es leider auch keine.when is used to order this correctly with the wake lock calls. This time should be in the SystemClock.uptimeMillis() time base.
Code:
pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
pm.userActivity(1,false);