Вы можете проверить класс AlarmManager, чтобы сделать это.
Intent intent = new Intent(this, MyAlarmManager.class);
long scTime = 60*2000;//2mins
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + scTime, pendingIntent);
вот менеджер аварийных сигналов -
public class MyAlarmManager extends BroadcastReceiver {
Context _context;
@Override
public void onReceive(Context context, Intent intent) {
_context= context;
//connect to server..
}
}
когда срабатывает AlarmManager, снова подключайтесь к серверу и заполняйте только что полученные данные.
http://developer.android.com/reference/android/app/AlarmManager.html