Hej udviklere,
Jeg har nu kigget lidt på at lave en alarm til en android. Det problem jeg er rendt ind i, er at jeg godt kan få alarmen til at virke, så længe at det er samme dag, som alarmen skal sættes til; men hvis jeg vælger tiden så den er mindre, end det den er nu, så bliver alarmen "skudt" af med det samme.
Jeg har forsøgt, at tjekke omkring om det tidsrum man vælger, om det er mindre end den nuværende tid, og hvis det så er dette. Så tilføjer man en ekstra dag til Det kalender objekt jeg sender til alarm manageren, for at alarm først kommer næste dag på det rigtige tidspunkt.. Desværre kan jeg ikke få denne fremgangs metode til at fungere.
Her er den kode jeg har, har dog fjernet den del af koden, hvor den tjekker for tidsrum. Da denne del som sagt ikke virkede..
- // get a Calendar object with current time
- Calendar cal = Calendar.getInstance();
-
- cal.set(Calendar.HOUR, tp.getCurrentHour());
- cal.set(Calendar.MINUTE, tp.getCurrentMinute());
-
- Intent intent = new Intent("nightmare.projects.receiver_alarm");
-
- PendingIntent sender = PendingIntent.getActivity(AlarmNew.this, 2, intent, PendingIntent.FLAG_CANCEL_CURRENT);
-
- // Get the AlarmManager service
- AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
- am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
-
- Context context = getApplicationContext();
- String hour="",min="";
-
- if(tp.getCurrentHour() < 10){
- hour = "0"+tp.getCurrentHour();
- }else{
- hour = ""+tp.getCurrentHour();
- }
- if(tp.getCurrentMinute()<10){
- min = "0"+tp.getCurrentMinute();
- }else{
- min = ""+tp.getCurrentMinute();
- }
-
- Toast toast = Toast.makeText(context, "Your alarm is set to " + hour + ":" + min, 3000);
- toast.show();
-
- finish();
Nogle, der har nogle gode idéer til, hvordan man får den funktionalitet at, hvis kl. er 18:30 og man sætter alarmen til 06:30, at alarmen så bliver sat til næste dag ?