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

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

Войти
Регистрация
Восстановить пароль
 
ZYL
3 / 3 / 0
Регистрация: 12.01.2013
Сообщений: 47
#1

Оповещение по заданному времени и дате - Программирование Android

26.12.2015, 16:03. Просмотров 327. Ответов 2
Метки нет (Все метки)

Здравствуйте, есть задача вывести оповещение по заданной пользователем дате и времени.
В сети много примеров, но не понятно как с конкретной датой работать.
Буду благодарен пояснениям)

Пока имеется такой код :
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Intent notificationIntent = new Intent(context, ToDoActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent,
        PendingIntent.FLAG_CANCEL_CURRENT);
 
Notification.Builder builder = new Notification.Builder(context);
 
builder.setContentIntent(contentIntent)
         .setSmallIcon(R.drawable.ic_launcher)
         // Создаем оповещение сразу после добавления таска в приложении
         .setWhen(System.currentTimeMillis())
         .setContentTitle("Напоминание MyNotes")
         .setContentText(description);
 
Notification notification = builder.build();
notification.defaults = Notification.DEFAULT_SOUND;
 
NotificationManager notificationManager = (NotificationManager) context
        .getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(Integer.parseInt(id), notification);


Добавлено через 54 минуты
Ошибочка вышла, метод .setWhen(System.currentTimeMillis()) работает не так, как ожидалось, он просто выводит дату в окошко оповещения, я то думал он время оповещения задаёт..
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2015, 16:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оповещение по заданному времени и дате (Программирование Android):

Получение доступа к дате/времени планшета - Программирование Android
В приложении необходимо сравнивать серверное время и время на планшете, и в случае расхождения синхронизировать. В общем вопрос в...

Уведомление по заданному времени - Программирование Android
Я начинающий программист-самоучка, поэтому прошу помощи. Не могу разобраться как сделать, чтоб выводилось уведомление в заданное время и...

Оповещение в UI из потока - Программирование Android
Доброго времени. суть проблеммы в сл. не работает повторное оповещение UI из потока. в приложении создаеЦа новый поток для выполнения некой...

Оповещение при звонке - Программирование Android
Добрый вечер Возможно ли сделать так чтобы после того как пользователь отвечал на звонок или к примеру приходило смс, выполнялось какое...

Оповещение в приложение, к которому нет доступа - Программирование Android
Возможно ли как-то показать сообщение всем, у кого установлено приложение? Но к самому приложению, точнее, к его публикации у меня нет...

Неправильно работает оповещение google Firebase - Программирование Android
Сделал оповещение настроил его таким образом private void showNotification(String title, String message) { Intent intent =...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
26.12.2015, 16:37 #2
ZYL, почитайте про AlarmManager
0
ZYL
3 / 3 / 0
Регистрация: 12.01.2013
Сообщений: 47
26.12.2015, 18:40  [ТС] #3
Смотрел и в сторону AlarmManager, но как-то что-то..)
Ещё видел вариант через TimerTask сделать, но тоже не обошлось без ошибок

В случае, когда в timer.schedule() вторым параметром передаю задержку просто числом, всё работает но если задержку считать как разность дат в милисекундах thatDay.getTimeInMillisec() - System.currentTimeInMillisec(), получаю исключение delay < 0, даже если таск через минуту запланирован.

Если передаю вторым параметром thatDay.getTime(), то оповещение сразу приходит..
Может с датой и временем что-то не так.. Они строками заданы ("26/12/2015", "15:00")

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Timer timer = new Timer();
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                thatDay.set(Calendar.DAY_OF_MONTH, Integer.parseInt(date.substring(0, 2)));
                thatDay.set(Calendar.MONTH, Integer.parseInt(date.substring(3, 5)));
                thatDay.set(Calendar.YEAR, Integer.parseInt(date.substring(6,10)));
                thatDay.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time.substring(0, 2)));
                thatDay.set(Calendar.MINUTE, Integer.parseInt(time.substring(3, 5)));
 
                Intent notificationIntent = new Intent(context, ToDoActivity.class);
                notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 
                PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent,
                        PendingIntent.FLAG_CANCEL_CURRENT);
 
                Notification.Builder builder = new Notification.Builder(context);
 
                builder.setContentIntent(contentIntent)
                        .setSmallIcon(R.drawable.ic_launcher)
                        .setWhen(System.currentTimeMillis())
                        .setContentTitle("Напоминание MyNotes")
                        .setContentText(description);
 
                Notification notification = builder.build();
                notification.defaults = Notification.DEFAULT_SOUND;
 
                NotificationManager notificationManager = (NotificationManager) context
                        .getSystemService(Context.NOTIFICATION_SERVICE);
                notificationManager.notify(Integer.parseInt(id), notification);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2015, 18:40
Привет! Вот еще темы с ответами:

Оповещение в трее с при определенном времени - C#
Не могу разобраться куда копать... Есть код,который выводит сообщение программы из трея,при условии,что до конца отсчета осталось 5...

Алгоритм расчёта времени поезда в пути по дате и собственно времени(отправления и прибытия) - C++ Builder
Всем доброго времени суток. Помогите пожалуйста написать алгоритм расчёта времени поезда в пути, если известны время и дата...

Оповещение окончания времени выполнения работы в программе - Delphi
Доброго времени суток! Подскажите, пожалуйста, можно ли сделать в Delphi систему оповещения по времени? Например, есть заявки, которые...

Оповещение о печатании текста на текущий момент времени - JavaScript
Всем привет. В соц. сетях есть такая интересная реализация. Когда в чате человек пишет сообщение, то у его собеседника пишется под полем...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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