Estoy tratando de verificar si mi alarma está activa o no. El método alarmIsSet devolverá falso antes de que se establezca la alarma, verdadero cuando se establece la alarma. Hasta ahora todo bien, sin embargo, después de la alarma que cancelé alarmIsSet continuará devolviéndome verdadero hasta que reinicie el dispositivo. ¿Cómo puedo solucionar esto?Cómo verificar si la alarma está configurada
public class Alarm extends Activity {
private Intent intent = new Intent("PROPOSE_A_TOAST");
private void alarm (boolean activate) {
AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 0);
if(activate == true) {
int type = AlarmManager.ELAPSED_REALTIME_WAKEUP;
long interval = 3000;
long triggerTime = SystemClock.elapsedRealtime();
am.setRepeating(type, triggerTime, interval, pi);
} else {
am.cancel(pi);
}
}
private boolean alarmIsSet() {
return PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_NO_CREATE) != null;
}
}