2015-01-10 4 views
0

Я использовал ниже код для создания тревоги.Создать alarams в android

public static void RegisterForAlarmEvent(Context ct, long intervel) 
     { 
      Intent intent = new Intent(ct, AlarmReceiver.class); 

      PendingIntent mAlarmSender = PendingIntent.getBroadcast(ct, 
        constants.ALARM_ID, intent, PendingIntent.FLAG_ONE_SHOT); 

      AlarmManager am = (AlarmManager) ct 
        .getSystemService(ct.ALARM_SERVICE); 

      Long totalTime = getCurrentTimeinMiliSeconds() + intervel; 

      am.set(AlarmManager.RTC, totalTime , mAlarmSender); 
     } 

мне нужно проверить в следующий раз, если сигнал уже зарегистрирован & его вызвало. Если его срабатывает, мне нужно только перерегистрироваться.

Итак, я проверяю, как это знать, если аларам уже зарегистрирован.

boolean alarmUp = (PendingIntent.getBroadcast(ct, id, intent, PendingIntent.FLAG_NO_CREATE)!= null); 

Если я вызываю регистр с помощью метода alaramevent & проверки тревоги уже зарегистрирован я получаю NULL, в буквальном смысле он должен возвращать NULL, когда сигнал выполняется правильно?

Как проверить будильник уже уволен или нет?

ответ

0

Согласно документации FLAG_NO_CREATE:

Flag for use with getActivity, getBroadcast, and getService: if the described PendingIntent does not already exist, then simply return null instead of creating it. 

Так что если ожидающий намерение уже создана, то она возвращает ссылку на предыдущее ожидании намерения. Если нет, то он вернет значение null.

И ответ на ваш вопрос заключается в сохранении некоторой общей предпочтительной стоимости и изменении этого значения в широковещательном приемнике. Исходя из этого значения

+0

Даже я тоже думал о том же, я попробую ... спасибо – Naruto

+0

Приветствую вас ... – Chandrakanth

Смежные вопросы