service - Android AlarmManager defaulting to 5 minutes when phone screen is off -
so having issue alarmmanager. trying run code every 2 minutes, works okay while phone awake, not when device goes sleep - during sleep, intervals 5 minutes apart.
since desired interval 2 minutes, 250% off target interval, specific application not acceptable.
i aware of changes in api 19, , have followed suggestions re-schedule alarm using setexact() within broadcastreceiver. code below:
the code used trigger broadcastreceiver:
intent intent = new intent(this, alarmreceiver.class); final pendingintent pendingintent = pendingintent.getbroadcast(this, 0, intent, 0); malarmmanager = (alarmmanager) this.getsystemservice(context.alarm_service); malarmmanager.setexact(alarmmanager.elapsed_realtime_wakeup, systemclock.elapsedrealtime() + 3000, pendingintent);
and code in broadcastreceiver re-schedules alarm:
@override public void onreceive(context context, intent intent) { toast.maketext(context, "alarmservice triggered.", toast.length_short).show(); log.d(this.getclass().getsimplename(), "service triggered"); intent newintent = new intent(context, this.getclass()); mpendingintent = pendingintent.getbroadcast(context, 0, newintent, 0); alarmmanager alarmmanager = (alarmmanager)context.getsystemservice(context.alarm_service); alarmmanager.setexact(alarmmanager.elapsed_realtime_wakeup, systemclock.elapsedrealtime() + 120000, mpendingintent); }
does have suggestions how fix this? frustrating alarmmanager totally ignoring wish have alarm fire @ exact time. there alternative allow me schedule code @ 2 minute intervals want?
device: samsung galaxy s6, os 5.1.1
as @francesc suggested, ended being samsung device. tried on phone, works flawlessly.
let lesson - don't buy samsung, weird stuff, lol.
Comments
Post a Comment