Ich frage mich, gibt es eine Grenze wie weit in der Zukunft wir eine Benachrichtigung über AlarmManager
planen können?
Ich weiß, das klingt seltsam, aber ich frage mich, ob es eine Art von Zeitbeschränkung gibt, z.B. innerhalb von 2 WochenAndroid Benachrichtigung für zukünftiges Datum
Antwort
Nein, es gibt keine zeitliche Beschränkung, soweit ich das Lesen des API-Dokuments feststellen kann. Sie können das genaue Datum durch setExact
festlegen.
Technisch Ich glaube, es ist eine Grenze in der set()
Methode der AlarmManager
aber es ist so groß, können Sie es grenzenlos betrachten.
Betrachten Sie dieses Beispiel:
long futureInMillis = ...;
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, futureInMillis, pendingIntent);
Die Grenze hier für futureInMillis
ist Long.MAX_VALUE
die (2^63)-1
oder 9,223,372,036,854,775,807
ist, aber ich gehe davon aus Sie nicht so lange warten werden zu müssen!
Es scheint keine Einschränkung in der Alarmmanager-Klasse zu sein, wie weit in die Zukunft kann ein Alarm eingestellt werden. Wenn Sie setExact() oder setWindow() nennen, wird der Alarmmanager implementation nicht erscheinen jede Validierung zu tun, darüber hinaus prüfen, ob der Alarm ein Datum in der Zukunft liegt, und ruft einfach eine IAlarmManager Dienst den Alarm einzustellen.
private void setImpl(int type, long triggerAtMillis, long windowMillis, long intervalMillis,
PendingIntent operation, WorkSource workSource, AlarmClockInfo alarmClock) {
if (triggerAtMillis < 0) {
/* NOTYET
if (mAlwaysExact) {
// Fatal error for KLP+ apps to use negative trigger times
throw new IllegalArgumentException("Invalid alarm trigger time "
+ triggerAtMillis);
}
*/
triggerAtMillis = 0;
}
try {
mService.set(type, triggerAtMillis, windowMillis, intervalMillis, operation,
workSource, alarmClock);
} catch (RemoteException ex) {
}
}
Sie werden jedoch durch die 64 Bits in einem langen begrenzt werden, da nur eine begrenzte Auswahl an Daten dargestellt werden. Das bedeutet, wenn Sie einen Alarm über Sun Aug 17 07:12:55 UTC 292278994 hinaus einstellen, können Probleme auftreten.
Eine weitere zu beachtende Sache ist das Einstellen des Alarms unter Verwendung von RTC oder RTC_WAKE_UP, da dies Auswirkungen darauf hat, ob das Gerät durch den Alarm geweckt wird.
- 1. Zeitplan getstream.io Benachrichtigung/Aktivität für zukünftiges Datum oder Uhrzeit
- 2. PHP-Datum ("I") für ein zukünftiges oder vergangenes Datum
- 3. Ich kann ein zukünftiges Datum wählen, wenn ich das maximale Datum in datepicker setze
- 4. Änderungen mit Ihrem Computer fälschlicherweise auf ein zukünftiges Datum festlegen?
- 5. Benachrichtigung für Android Musik-Player
- 6. Wie Benachrichtigung zu einem bestimmten Datum ohne Datepicker in Android
- 7. Wie überprüfe ich, ob Element ein Datum größer als heute hat (zukünftiges Datum)
- 8. Versuch ein zukünftiges Datum zu erstellen erstellt stattdessen ein vergangenes Datum
- 9. Wie man Inhalt für zukünftiges Datum einplant/in Warteschlange stellt? Veröffentlichen Sie in PHP?
- 10. Xamarin.Forms - Push-Benachrichtigung für iOS und Android
- 11. Firebase Benachrichtigung für Android, onTokenRefresh Methode
- 12. Nummer anstelle von Text für Android-Benachrichtigung
- 13. Machen Sie AddAction Arbeit für Android-Benachrichtigung
- 14. Benachrichtigung für Chat-Anwendung in Android
- 15. Wie kann ich Zeit und das Datum für die Benachrichtigung
- 16. Lokale Benachrichtigung für ein bestimmtes Datum einplanen und jährlich wiederholen
- 17. Android Echtzeit-Benachrichtigung
- 18. Android Benachrichtigung Dynamische Icon
- 19. Android: DownloadManager - Benachrichtigung Sticking
- 20. Benachrichtigung verschwindet - Android DownloadManager
- 21. Android verzögerte Benachrichtigung
- 22. Android Benachrichtigung ergänzt die Android-Benachrichtigung duplizieren klingt Spinner
- 23. Android Benachrichtigung zum Zeitpunkt
- 24. Zeitplan Benachrichtigung android
- 25. Android App Shortcut Benachrichtigung
- 26. Android Benachrichtigung funktioniert nicht
- 27. Android: Benachrichtigung von BroadcastReceiver
- 28. Pull-Benachrichtigung in Android
- 29. R.string.value Hilfe android Benachrichtigung
- 30. Erweiterbare Benachrichtigung Android 4.1
Warum sollte das 64-Bit ein Problem sein? Dieses Datum ist kein echtes Problem, oder? – Jim