Às vezes é necessário em algumas aplicações a repetição temporal de alguma função ou serviço. Bem para fazermos isto podemos criar uma alarme com repetição, bem simples assim. Mas chega de conversa… Segue abaixo uma forma de implementar a criação de um Alarm que irá disparar um Serviço a cada 30 minutos.
private static final int ALARMID = 9999; // Um número para poder identificar o seu alarme private void instalaAlarme() { PendingIntent sender; // Inicializa o Serviço AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); // Serviço Intent intentMyService = new Intent(this, MyService.class); // Verifica se o alarme já esta setado boolean alarmUp = (PendingIntent.getBroadcast(this, ALARMID, intentMyService,PendingIntent.FLAG_NO_CREATE) != null); if (alarmUp) { Log.i("Teste", "Alarme já setado !!! "); return; } sender = PendingIntent.getBroadcast(this, ALARMID, intentMyService, PendingIntent.FLAG_CANCEL_CURRENT); long firstTime = System.currentTimeMillis(); String sRepeting = MapaService.buscaValor(ConstMap.MSG_PUSH_SERVICE_REPEAT_TIME); Integer repeatingTime = 30*60*1000; // 30 minutos firstTime += repeatingTime; alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, firstTime, repeatingTime,sender); }
Deixe um comentário