2016-04-05 8 views
-1

Ich benutze einen AlarmManager, um einen Dienst zu planen, jede Stunde, aber ich brauche nur, wenn der Bildschirm entsperrt ist, so dass der Endbenutzer das Gerät verwendet. Ich habe versucht, AlarmManager mit den Variablen SCREEN_ON und SCREEN_OFF zu verwenden, aber ohne Erfolg. Ich kann nicht verstehen, wie man den wiederholten AlarmManager Zeitplan einstellt.Android Start-Service nur, wenn Bildschirm ist

+0

Soweit ich weiß, können Sie die AlarmManager-Klasse nicht festlegen, wenn der Benutzer das Gerät verwendet. Sie können den Alarm nur nach der Zeit einstellen und Sie müssen überprüfen, ob der Bildschirm des Geräts aktiv oder deaktiviert ist. Alternativ können Sie den Bildschirm aufwachen, wenn Ihr Dienst zu arbeiten beginnt. Unter Verwendung dieser Eigenschaften müssen Sie vor dem Aufruf von startActivity() ein WakeLock in onReceive() erwerben und dieses WakeLock freigeben, nachdem der Benutzer auf Ihre Aktivität reagiert hat. –

Antwort

2

Bevor Sie Ihren Dienst starten, überprüfen Sie, ob Bildschirm AUS oder EIN ist.

+0

Ja, es ist nützlich. Also ich starte ich sofort den Dienst, wenn der Bildschirm eingeschaltet ist? –

+0

erhalten Sie jede Stunde eine Antwort von AlarmManager? –

+0

Ja ... Ich bekomme immer Antwort –

Verwandte Themen