Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
#1

Не удаляется Alarm - Программирование Android

24.09.2014, 13:37. Просмотров 407. Ответов 2
Метки нет (Все метки)

Запускаю Alarm так

Java
1
2
3
4
5
        intent = new Intent(context, MyAlarmReceiver.class);
        intent.setAction(action);   
        intent.putExtra("WID", wid);
        pi = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, getTime().getTimeInMillis(), getPeriod(), pi);
Удаляю так
Java
1
2
3
4
5
6
        Intent lintent = new Intent(context, MyAlarmReceiver.class);
        PendingIntent lpi = PendingIntent.getBroadcast(context, 0, lintent, PendingIntent.FLAG_UPDATE_CURRENT);
        try {
            alarmMgr.cancel(lpi);
        } catch (Exception e) {
        }
По расписанию аларма выскакивает уведомление. Пытаюсь удалить его,но все равно выскакивает уведомление. В чем косяк?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2014, 13:37     Не удаляется Alarm
Посмотрите здесь:

Alarm Manager - Программирование Android
Здравствуйте . Подскажите , правильно ли я понимаю что "Alarm Manager "не рекомендуют использовать начиная API 19 (KITKAT)? Note: The...

Отменить Alarm - Программирование Android
Я сел делать будильник, и встретился c AlarmManager. Все вроде прекрасно, и сделал Receiver, и устанавливаю время звонка и все это...

Периодический alarm не срабатывает - Программирование Android
Нужно установить alarm с некой периодичностью. Когда устанавливаю на 15 сек, то все работает отлично alarmManager.set(AlarmManager.RTC,...

Ошибки в коде. Alarm Manager - Программирование Android
Идея: в определенное время выводит нотификейшен с определенным текстом. Не могу понять почему не работает. Сделано на старой версии...

Уведомления в заданное время без Alarm - Программирование Android
Пытаюсь вывести уведомление в заданное время не используя AlarmManager. Т.к. через AlarmManager, после перезагрузки, выводятся все...

Alarm broadcastIntent убивается через какое-то время - Программирование Android
Привет! Я разрабатываю приложение похожее на будильник. Я использую Android 4.2.2. Проблема заключается в том, что после некоторого...

Снова Alarm Manager: как запустить на API выше 19-го? - Программирование Android
Задача, нужно что бы задание выполнялось в определенное время с интервалом в один день, если правильно понял отсюда -...

Alarm manager не запускается чаще чем раз в час - Программирование Android
Есть сервис с Alarm manager'ом package com.ww4u.orderbook2; import android.app.AlarmManager; import...

Не удаляется таблица в SQLite - Программирование Android
Первоначально в приложении существует бд с пустой таблицей. Эта база копируется из assets. По ходу выполнения приложения таблица...

не удаляется запись с базы - Программирование Android
Помогите пожалста с удалением елемта. когда я хочу видалить елемен прога вилетает, вот код: lv.setOnItemClickListener(new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
24.09.2014, 14:35     Не удаляется Alarm #2
Все дело в интенте, он должен быть один и тот же. alarmMgr - это просто менеджер, не сам аларм, а сам аларм создается непосредственно после вызова какого нибудь метода (н.р. am.setRepeating()) и идентификатором его выступает что-то из интента (в PendingIntent есть параметр ид, по-моему это он). У вас выходит, что вы создаете один сигнал, а отменяете другой).
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
25.09.2014, 09:09  [ТС]     Не удаляется Alarm #3
Но везде в примерах именно через PendingIntent с теми же параметрами, что и запуск аларма идет и его cancel. Как сохранить интент? Или как раз использовать его ид. Ну попробую покопать в этом направлении. Спасибо.

Добавлено через 2 часа 48 минут
Короче решил задачу так: вместо метода setRepeating() использовал метод set() AlarmManager-а. Ну оно и понятно, что стало работать как положено. Где то прочитал, что рекомендуют использовать как раз set() для таких случаев как у меня. Кстати на счет PendingIntent, там все правильно у меня было сделано. Все равно спасибо за отклик.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru