run code periodically android
/* USING HANDLER METHOD */ Handler myHandler = new Handler(); int delay = 1000; // 1000 milliseconds == 1 second myHandler.postDelayed(new Runnable() { public void run() { System.out.println("myHandler: here!"); // Do your work here handler.postDelayed(this, delay); } }, delay); /* USING ALARM MANAGER METHOD */ // Some time when you want to run Date when = new Date(System.currentTimeMillis()); try { Intent someIntent = new Intent(someContext, MyReceiver.class); // intent to be launched // Note: this could be getActivity if you want to launch an activity PendingIntent pendingIntent = PendingIntent.getBroadcast( context, 0, // id (optional) someIntent, // intent to launch PendingIntent.FLAG_CANCEL_CURRENT // PendingIntent flag ); AlarmManager alarms = (AlarmManager) context.getSystemService( Context.ALARM_SERVICE ); alarms.setRepeating( AlarmManager.RTC_WAKEUP, when.getTime(), AlarmManager.INTERVAL_FIFTEEN_MINUTES, pendingIntent ); } catch(Exception e) { e.printStackTrace(); } /* THEN RECEIVE YOUR INTENT */ public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { System.out.println("MyReceiver: here!") // Do your work here } } /* THEN REGISTER YOUR RECEIVER */ MyReceiver receiver = new MyReceiver(); context.registerReceiver(receiver, intentFilter);