Ich versuche, eine Alarmfunktion zu erstellen. Es verfügt über das übliche Standardverhalten eines Alarms – das heißt, der Benutzer kann jederzeit eine beliebige Anzahl von Alarmen erstellen und festlegen, dass sie jederzeit ausgelöst werden. Beim Lesen der Dokumente habe ich Folgendes herausgefunden:
Hinweis: Weder setAndAllowWhileIdle() noch setExactAndAllowWhileIdle()
können Alarme mehr als einmal alle neun Minuten auslösen. pro App.
Die einzig mögliche Lösung, die möglich schien, war die Kombination von wakeLock mit alarmManager. Und das war so: Die erste Absicht wurde im Schlafmodus im Boardcast festgehalten. Dann würde ich prüfen, ob es innerhalb dieses 9-minütigen Schlafzeitraums weitere Alarme gibt, und wenn ja, würde ich einen WakeLock erstellen, bis der letzte Alarm dieses Zeitraums ausgeführt wurde. Der WakeLock hatte den Typ:
Code: Select all
powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyApp::AlarmWakeLock");
< /code>
Während das Schloss aus irgendeinem Grund in den Protokollen angezeigt wurde, würde das Wakelock nicht wirksam und das Gerät wecken, damit die anderen Alarme die Sendung auslösen. Warum passiert das? Ich hatte die erforderlichen Berechtigungen für diese Aktion hinzugefügt - Android.Permission.wake_lock, Android.Permission.System_Alert_Window, Android.Permission.Schedule_exact_alarm
Warum ist das geschieht? Vermisse ich etwas im Code? Vielen Dank, jede Hilfe wäre sehr beunruhigend