KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am currently trying to write alarm manager that will make an alarm go off within a specified period of time, daily. First I check to see if the user has had an alarm set for that for that day: if ((User.getReminderTime(Home.this) > 0) && (dt.getDate() != today.getDate() || dt.getDay() != today .getDay())) { AppointmentManager.setFutureAppointmentCheck(this .getApplicationContext()); User.setLongSetting(this, "futureappts", today.getTime()); } Then I go and set the actual alarm to go off between 12 and 12:10 of the next day: public static void setFutureAppointmentCheck(Context con) { AlarmManager am = (AlarmManager) con .getSystemService(Context.ALARM_SERVICE); Date futureDate = new Date(new Date().getTime() + 86400000); Random generator = new Random(); futureDate.setHours(0); futureDate.setMinutes(generator.nextInt(10)); futureDate.setSeconds(0); Intent intent = new Intent(con, FutureAppointmentReciever.class); PendingIntent sender = PendingIntent.getBroadcast(con, 0, intent, PendingIntent.FLAG_ONE_SHOT); am.set(AlarmManager.RTC_WAKEUP, futureDate.getTime(), sender); } Now I setup a test environment for this to go off every two minutes and it seems to be working fine, however when I deploy to an actual device, the reciever does not seem to be recieving the alarms. I thought it might be an issue with the device being asleep, so I added the power manager. But it still does not work: PowerManager pm = (PowerManager) context .getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wl = pm.newWakeLock( PowerManager.PARTIAL_WAKE_LOCK, "keepAlive"); wl.acquire(); setFutureAppointments(context.getApplicationContext()); AppointmentManager.setFutureAppointmentCheck(context .getApplicationContext()); User.setLongSetting(context.getApplicationContext(), "futureappts", new
Tags (comma-separated)
Save Edits
Cancel