Hallo leute :meld:
ich programmiere schon etwas länger android apps, allerdings brauche ich jetzt zum ersten mal die service klasse. Ich möchte eine app programmieren bei der man ereignisse erstellen kann zu welcher uhrzeit was geschehen soll. dazu brauche ich eine activity in der man neue ereignisse hinzufügen kann und einen service der dies dann zur gegebenen uhrzeit ausführt. Das klappt schon ganz gut bis auf dass wenn ich zb einen service für 16:30 festgelegt habe und anschließend einen zweiten um 17:00 dann wird der erste einfach "überschrieben" und nur der zweite wird ausgeführt. Beide werden von derselben service klasse ausgeführt. Liegt vielleicht hierbei das problem?
die Methode die den Service erstellt:
wenn ich nun diese methode 2 mal mit zb anderen zeitwerten aufrufe wird nur der zuletzt erstellte service ausgeführt.
Und ich hätte nocheine frage: geht es dass ich einen service erstelle der regelmäßig (also zb jeden montag um 17:00) ausgeführt wird?
danke schonmal für eure antworten
ich programmiere schon etwas länger android apps, allerdings brauche ich jetzt zum ersten mal die service klasse. Ich möchte eine app programmieren bei der man ereignisse erstellen kann zu welcher uhrzeit was geschehen soll. dazu brauche ich eine activity in der man neue ereignisse hinzufügen kann und einen service der dies dann zur gegebenen uhrzeit ausführt. Das klappt schon ganz gut bis auf dass wenn ich zb einen service für 16:30 festgelegt habe und anschließend einen zweiten um 17:00 dann wird der erste einfach "überschrieben" und nur der zweite wird ausgeführt. Beide werden von derselben service klasse ausgeführt. Liegt vielleicht hierbei das problem?
die Methode die den Service erstellt:
Java:
private void createService(int function, int hour, int minute, int on_or_off){
int extra = function*2+on_or_off;
Intent intent = new Intent(AddEreignisActivity.this, EasyManagerService.class);
intent.putExtra("function", extra);
PendingIntent pendingIntent = PendingIntent.getService(AddEreignisActivity.this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
int hour_dif = hour-calendar.get(Calendar.HOUR_OF_DAY);
int minute_dif = minute-calendar.get(Calendar.MINUTE);
int second_dif = -calendar.get(Calendar.SECOND);
calendar.add(Calendar.HOUR_OF_DAY, hour_dif);
calendar.add(Calendar.MINUTE, minute_dif);
calendar.add(Calendar.SECOND, second_dif);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}
wenn ich nun diese methode 2 mal mit zb anderen zeitwerten aufrufe wird nur der zuletzt erstellte service ausgeführt.
Und ich hätte nocheine frage: geht es dass ich einen service erstelle der regelmäßig (also zb jeden montag um 17:00) ausgeführt wird?
danke schonmal für eure antworten