1. Create a Pollingthread class and print "New message!" in log
class extends Thread { @Override publicvoid run () { log.i ("Zzf", "Polling ...") ); } }
2. Create Pollingreceiver to receive service delivery information and re-execute Pollingservice
Public class extends broadcastreceiver { @Override publicvoid onreceive (context context, Intent Intent) { // TODO auto-generated method stub log.i ("Zzf", "receive!" ); New Intent (context, Pollingservice. Class); Context.startservice (i); }}
3. Create a Pollingservice timed poll task object
Public classPollingserviceextendsService {@Override Publicibinder onbind (Intent Intent) {return NULL; } @Override Public voidonCreate () {} @Override Public intOnstartcommand (Intent Intent,intFlagsintStartid) { //TODO auto-generated Method Stub//Create a Pollingthread child thread for performing tasks NewPollingthread (). Start (); //Get Alarmmanager System ServicesAlarmmanager Manager =(Alarmmanager) Getsystemservice (Context.alarm_service); //packaging needs to perform service intentIntent i =NewIntent ( This, Pollingreceiver.class); Pendingintent pendingintent= Pendingintent.getbroadcast ( This, 0, I, 0); intAnseconds = 5 * 1000;//5 Seconds//Trigger Time LongTriggerattime = Systemclock.elapsedrealtime () +Anseconds; Manager.set (Alarmmanager.elapsed_realtime_wakeup, Triggerattime, pendingintent); return Super. Onstartcommand (I, Flags, startid); }
4. Start the Pollingservice in mainactivity
LOG.I ("Zzf", "Start polling service ..."); New Intent (This, pollingservice. Class); StartService (intent);
About the Pollingservice timed polling task in Android