android - How to get around setting a unique ID for AlarmManager? -
i using code launch alarm.
the alarm set in activity user can launch.
//setting alarm fire off new_game intent every 24 hours. string alarm = context.alarm_service; calendar calendar = calendar.getinstance(); calendar.set(calendar.hour_of_day, 8); calendar.set(calendar.minute, 0); calendar.set(calendar.second,0); calendar.set(calendar.millisecond, 0); log.i("test", "current time: " + system.currenttimemillis() ); log.i("test", "calendar time: " + calendar.gettimeinmillis() ); int currentdate = calendar.get(calendar.date); calendar.set(calendar.date, currentdate+1); log.i("test", "calendar time day added: " + calendar.gettimeinmillis() ); alarmmanager = (alarmmanager)getactivity().getsystemservice(alarm); intent intent = new intent("new_item"); pendingintent sender = pendingintent.getbroadcast(getactivity(), 0, intent, 0); am.setrepeating(alarmmanager.rtc_wakeup,calendar.gettimeinmillis() , alarmmanager.interval_day, sender);
i told need supply uniqu id alarm doesnt on writte each other getbroadcast() is.
the problem how do when user can open activity many times want?
also if supply unique id each time means possibly set 5 of same alarms because of unique id's.
how or best way around this?
you use unix timestamp of target time unique id. way, alarms exact time override each other, while other alarms stay seperate
[edit:] here example code:
alarmmanager = (alarmmanager)getactivity().getsystemservice(alarm); intent intent = new intent(string.valueof(calendar.gettimeinmillis())); pendingintent sender = pendingintent.getbroadcast(getactivity(), 0, intent, 0); am.setrepeating(alarmmanager.rtc_wakeup,calendar.gettimeinmillis() , alarmmanager.interval_day, sender);
Comments
Post a Comment