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
Antwort
Bevor Sie Ihren Dienst starten, überprüfen Sie, ob Bildschirm AUS oder EIN ist.
Ja, es ist nützlich. Also ich starte ich sofort den Dienst, wenn der Bildschirm eingeschaltet ist? –
erhalten Sie jede Stunde eine Antwort von AlarmManager? –
Ja ... Ich bekomme immer Antwort –
- 1. Startservice funktioniert nicht in Android
- 2. Wann ist Smart BindService zu verwenden und wenn StartService
- 3. Android: Splash-Bildschirm nur zum ersten Mal
- 4. Nur weißer Bildschirm auf Android mit Cordova
- 5. Silverlight: TestPage.html ist nur ein weißer Bildschirm
- 6. Android empfängt keine Standortaktualisierungen, wenn der Bildschirm gesperrt ist
- 7. Android - Bildschirm anpassen, wenn die Tastatur hochspringt?
- 8. Android adb shell am startservice: Fehler nicht gefunden
- 9. Android überprüfen, wenn die Ausrichtung Bildschirm ändern
- 10. Android erlaubt nur eine Navigationsseite auf dem Bildschirm mit
- 11. Bildschirm programmgesteuert deaktivieren Android
- 12. Erkennen, wenn Sicherheitssperre auf dem Bildschirm ist
- 13. Unterstützung geteilter Bildschirm in Android N + nur auf Tablets
- 14. Google maps Android nur weißen Bildschirm angezeigt wird
- 15. Android Place Picker zeigt leeren Bildschirm, wenn Ort ausgewählt ist, oder wenn Sie versuchen,
- 16. Android Studio erkennt nur 1.6 JDK, wenn 1.8 installiert ist?
- 17. Android entsperren Bildschirm Absicht?
- 18. Android - Drag-Bildschirm Navigation
- 19. App neu starten, wenn der Bildschirm gesperrt ist
- 20. startService von Klasse, die nicht erweitert Aktivität
- 21. Android-Bildschirm Ausrichtung Größe
- 22. BluetoothGattCallback scheint keine Antwort in "StartService"
- 23. Android eingehenden Anruf Bildschirm
- 24. Android Emulator Bildschirm
- 25. Android Bildschirm Timeout
- 26. Android Bildschirm Orientations:
- 27. Android Listener zu erkennen, wenn der Bildschirm gedrückt wird
- 28. HealthStor enableBackgroundDelivery wenn Bildschirm
- 29. Nur einfügen, wenn Timestamp nicht belegt ist
- 30. Android Gridlayout überquell Bildschirm
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. –