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