Pergunta

Possível duplicata:
Por que meu gerente de alarme do Android está disparando instantaneamente?

Eu tenho esse código que chamará notificação de alarme

public static  Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.add(Calendar.HOUR_OF_DAY,hour);
cal.add(Calendar.MINUTE, min);
Intent intent = new Intent(this,  OnetimeAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, REQUEST_CODE, intent,0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis() , pendingIntent); 
Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show();

Mas o alarme é disparado instantaneamente, ele espera após a hora e a hora? Devo adicionar algo ao arquivo de manifesto?

Foi útil?

Solução

Você usa a hora atual para definir o alarme. Então dispara instantaneamente.

Verifique a API. http://developer.android.com/reference/android/app/ALarmManager.html#set%28int ,%20long ,%20android.app.pendingIntent%29

Lá você passa o tempo em que o alarme é o segundo parâmetro. No seu caso, este é o tempo real. Portanto, você deve adicionar a quantidade de tempo que deseja esperar ao tempo que sua passagem no método agora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top