2016-02-08 1 views
0

Я создаю приложение для Android, которое будет служить планировщиком. Клиенту разрешено вводить все его расписания на 1 месяц вперед.Как создать систему сигнализации планировщика с помощью android

Например

Понедельник 22/12/2016 2:30 утра идти на работу Вторник 23/12/2016 4:00 вечера Посетите друга .....

Теперь пользователь может для ввода всей этой информации в локальную базу данных sqlite приложения.

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

Я был бы очень рад, если кто-нибудь сможет дать какие-либо идеи или ссылки относительно того, как это сделать. Заранее спасибо.

ответ

1

Да, это возможно.

Вы можете сохранить информацию в базе данных sqlite. Затем с данными из базы данных вы сможете получить информацию и установить будильник с помощью Pending intent.

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

Используйте wake lock permission в манифесте, чтобы сохранить экран и проснуться от состояния блокировки и отобразить экран тревоги с информацией.

С RingtoneManager можно воспроизводить музыку, когда срабатывает тревога.

И самое главное, если телефон перезагружается или откладывается, а затем снова включается, когда загрузка завершается, alarm service автоматически установит ваш будильник.

В основном это основные шаги по созданию системы сигнализации. Для примера смотрите ниже хранилища в Github

https://github.com/zahansafallwa/AlarmClock

Ее немного сложного кодирование, но это один более или менее включает в себя все возможные штаты вы можете сделать с менеджером сигнализации в андроиде

+0

Safaliwa, пожалуйста, я работаю с аналогичным проектом с этим же хранилищем, но я сталкиваюсь с некоторыми проблемами. Пожалуйста, см. Это, если вы можете помочь http://stackoverflow.com/q/35304758/2595059 Спасибо, что хорошо – George

0

Хотя вопрос является пару месяцев назад, но все же я хочу ответить, ответ от @ Zahan Safallwa - это коррент, но вам нужно управлять Pending Intent, Request Code, Intent for Pending Intent и Time/delays для аварийных сигналов. Это увеличится экспоненциально, если у вас несколько аварийных сигналов. Для этого я написал класс, который поможет вам.

Пример использования: Для планирования

new ScheduleAlarm(context) 
    .withRequestCode(REQUEST_CODE) 
    .forClass(SomeIntentService.class) 
    .withDelay(0) 
    .withRepeatsIn(TIME_IN_MILLISECONDS) 
    .schedule(); 

Пример использования: Для повторного планирования-Post KitKat

new ScheduleAlarm(context) 
    .withRequestCode(REQUEST_CODE) 
    .forClass(SomeIntentService.class) 
    .withDelay(TIME_IN_MILLISECONDS) 
    .withRepeatsIn(TIME_IN_MILLISECONDS) 
    .reSchedule(); 

Пример использования: Останавливает будильнику

new ScheduleAlarm(context) 
    .withRequestCode(REQUEST_CODE) 
    .forClass(SomeIntentService.class) 
    .stopAlarm(); 

Доступно на GIST

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