alarmmanager - set repeated alarm manager for every hour in android -
i want fetch location every hours in android . use alarm manager , set repeated alarm every hour , want write file after fix time i.e @ 8 , 12 pm . got problem in setting alarm manager , while set every 1 hour execute in 1/2 hour .
on button click start service : servicebutton.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { intent myintent = new intent(automainactivity.this, trackerservice.class); pendingintent = pendingintent.getservice(automainactivity.this, 0, myintent, 0); alarmmanager alarmmanager = (alarmmanager)getsystemservice(alarm_service); alarmmanager.setinexactrepeating(alarmmanager.elapsed_realtime_wakeup, alarm_trigger_at_time, 3600000, pendingintent); //3600000 1hrs finish(); } });
and service class :
tracker service.class string final_string; sharedpreferences pref; static final int start_time = 8; static final int mid_time = 12; java.util.date systemdates = calendar.getinstance().gettime(); int hour = calendar.getinstance().get(calendar.hour_of_day); if(hour == start_time) { edit.putstring("smsdata", final_string); edit.commit(); //sendsms(start_tag+pref.getstring("smsdata", "")); edit.putstring("smsdata", ""); edit.commit(); }else { system.out.println("currentdate:"+simpledateformat.tostring()); system.out.println("current_time:"+currenttime); editor edit = pref.edit(); edit.putstring("smsdata", pref.getstring("smsdata", "")+final_string+"#"); edit.commit(); if(hour==mid_time) { //sendsms(start_tag+pref.getstring("smsdata", "")); generatenoteonsd("\n"+start_tag+pref.getstring("smsdata", "")); edit.putstring("smsdata", ""); edit.commit(); system.out.println("mid time"); } }
when execute service start on every 30min. want on every 60min.
first, want use 1 of available constants, interval_hour
, setinexactrepeating()
.
second, setinexactrepeating()
inexact. android reserves right flex times of alarms coalesce events other scheduled inexact alarms.
so, try switching briefly setrepeating()
. if works expect, behavior due "inexact" nature of setinexactrepeating()
.
also, can use adb shell dumpsys alarm
examine scheduled alarms. may have 2 alarms scheduled, each going off once per hour.
Comments
Post a Comment