убить средство проверки будильника в андроиде

У меня есть средство проверки сигналов тревоги в моей деятельности (Groups.java), чтобы запускать службу каждые несколько секунд:

public void lookForGroups()
    {
        int seconds = 40;

           Intent myIntent = new Intent(Groups.this, GroupsTaskAlarmChecker.class);
           pendingIntent = PendingIntent.getService(Groups.this, 0, myIntent, 0);

           AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);

           Calendar calendar = Calendar.getInstance();
           calendar.setTimeInMillis(System.currentTimeMillis());
           calendar.add(Calendar.SECOND, 10);
           alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), seconds * 1000, pendingIntent);

    }

Также в зависимости от переменной sharedPreferences я запускаю эту службу при перезагрузке устройства.

Можно ли "убить" или запустить эту проверку алармов в зависимости от значения переменной? например, для автоматической или ручной синхронизации моего приложения.

Заранее большое спасибо и извините за мой английский ;)


person carlosdiazp    schedule 19.04.2013    source источник


Ответы (1)


Не уверен, понимаю ли я это... но вы создаете средство проверки тревог и хотите убить его, если оно уже запущено?

alarmManager.cancel(pendingIntent) 

должен сделать это. Согласно ссылке, он отменит все сигналы тревоги с соответствующим намерением.

person Martin    schedule 19.04.2013
comment
Извините за мое невежество, но как я могу взаимодействовать с этой переменной, если я нахожусь в другом действии? (потому что в действии у меня нет конструктора, только onCreate, onResume и т. д.). Спасибо! - person carlosdiazp; 20.04.2013
comment
Ладно, я понял. Я могу вызвать его для другого действия, если объявлю статическую функцию, содержащую alarmManager.cancel(pendingIntent). Спасибо еще раз ;) - person carlosdiazp; 20.04.2013