Niko
- Forum-Beiträge: 7
05.05.2012, 20:28:45 via Website
05.05.2012 20:28:45 via Website
Hallo!
Ich möchte einen Wecker programmieren und diesbezüglich benutze ich einen TimePicker, um eine Uhrzeit einzustellen.
In dieser Sache scheint mir der AlarmManager die beste Wahl zu sein. Wenn ich mir nun folgenden Codeausschnitt anschaue, dann wird der AlarmManager dann gestartet, wenn 5 Sekunden verstrichen sind:
Dem cal.getTimeInMillis() werden dann sozusagen 5 Sekunden draufaddiert und dann wird er gestartet. Wenn ich mich nicht täusche, würde die Funktion getTimeinMillis() einen TimeStamp ausgeben. Ich brauche als einen Timestamp, damit hier alles erfolgreich arbeitet, oder?
Nun habe ich, wie oben bereits erwähnt, einen TimePicker, mit dem ich jedoch nur einzelne Daten ausgeben kann, wie z.B.: timePicker.getCurrentHour() oder getCurrentMinute(). Mittels TimePicker möchte ich eine Zeit einstellen, die dann zur gewünschten Zeit den AlarmManager auslöst. Doch wie kann ich dies realisieren?
Gibt es einen Weg, um die Daten vom TimePicker in eine TimeStamp zu verfrachten? Oder gibt es in Android eine Möglichkeit die Differenz zweier Uhrzeiten ausrechnen zu lassen und an der Stelle:
Ich möchte einen Wecker programmieren und diesbezüglich benutze ich einen TimePicker, um eine Uhrzeit einzustellen.
In dieser Sache scheint mir der AlarmManager die beste Wahl zu sein. Wenn ich mir nun folgenden Codeausschnitt anschaue, dann wird der AlarmManager dann gestartet, wenn 5 Sekunden verstrichen sind:
1Calendar cal = Calendar.getInstance();
2 // add 5 minutes to the calendar object
3 cal.add(Calendar.MINUTE, 5);
4
5 // Get the AlarmManager service
6 AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
7 am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
2 // add 5 minutes to the calendar object
3 cal.add(Calendar.MINUTE, 5);
4
5 // Get the AlarmManager service
6 AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
7 am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
Dem cal.getTimeInMillis() werden dann sozusagen 5 Sekunden draufaddiert und dann wird er gestartet. Wenn ich mich nicht täusche, würde die Funktion getTimeinMillis() einen TimeStamp ausgeben. Ich brauche als einen Timestamp, damit hier alles erfolgreich arbeitet, oder?
Nun habe ich, wie oben bereits erwähnt, einen TimePicker, mit dem ich jedoch nur einzelne Daten ausgeben kann, wie z.B.: timePicker.getCurrentHour() oder getCurrentMinute(). Mittels TimePicker möchte ich eine Zeit einstellen, die dann zur gewünschten Zeit den AlarmManager auslöst. Doch wie kann ich dies realisieren?
Gibt es einen Weg, um die Daten vom TimePicker in eine TimeStamp zu verfrachten? Oder gibt es in Android eine Möglichkeit die Differenz zweier Uhrzeiten ausrechnen zu lassen und an der Stelle:
1am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
zu verwenden?
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.