i want run async task in android every intervals.
my interval = { 15 min , 30 min , 1 hour ....etc
depending on users' choice.
when start application want fetch current time , after every n interval want execute async task
int intv = 15; simpledateformat sd = new simpledateformat( "hh:mm:ss"); date date = new date(); sd.settimezone(timezone.gettimezone("gmt+05:30")); system.out.println(sd.format(date)); string currenttime = sd.format(date); date mydatetime = null; try { mydatetime = sd.parse(currenttime); } catch (parseexception e) { e.printstacktrace(); } system.out.println("this actual date:"+sd.format(mydatetime)); calendar cal = new gregoriancalendar(); cal.settime(mydatetime); cal.add(calendar.minute , intv ); //here adding interval system.out.println("this hours added date:"+sd.format(cal.gettime())); try { date afterintv = sd.parse(sd.format(cal.gettime())); if(afterintv.after(mydatetime)){ //here comparing system.out.println("true.........."); new sendingtask().execute; //this function have execute } } catch (parseexception e) { // todo auto-generated catch block e.printstacktrace(); }
but not getting how do.
if want run asynctask after sometime can use thread.sleep in asynctask. in case sendingtask class. here sample:
class sendingtask extends asynctask{ // interval in milliseconds int interval = 1000; public sendingtask(int interval) { // setting delay before executed this.interval = interval; } @override protected object doinbackground(object[] params) { // wait according interval try { thread.sleep(interval); } catch (interruptedexception e) { e.printstacktrace(); } return null; } @override protected void onpostexecute(object o) { super.onpostexecute(o); // update ui , restart asynctask textview3.settext("true.........."); new sendingtask(3000).execute(); } }
Comments
Post a Comment