Календарь событий и AlarmManager сервис в Android - PullRequest
1 голос
/ 17 января 2012

Я пытаюсь создать приложение следующим образом:

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

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

Любая помощь, пожалуйста ???

Ответы [ 2 ]

0 голосов
/ 19 мая 2013

Этот приемник вещания работает по крайней мере на моем телефоне (другие не проверяли).

A. Использование получателя в manifest.xml

<receiver android:name=".MyRemindersReceiver" >
            <intent-filter>
                <data android:scheme="content" />
                <action android:name="android.intent.action.EVENT_REMINDER" />
            </intent-filter>
</receiver>

B. Использование приемника в коде

    IntentFilter inFilter = new IntentFilter(CalendarContract.ACTION_EVENT_REMINDER);
    inFilter.addDataScheme("content");
    registerReceiver(myRemindersReceiver, inFilter);

Глядя на это широковещательное сообщение в отладчике, кажется, что это сообщение не имеет дополнений в комплекте. Однако у него есть Uri в intent.getData (), который я предполагаю в качестве Uri для события календаря. Поэтому вам нужно запросить этот URI, чтобы получить больше информации о событии остатка.

0 голосов
/ 16 февраля 2012

Насколько я знаю, и я могу ошибаться, так как Календарь не реализован на уровне операционной системы, вы не можете напрямую связать его с триггерами событий (напоминаниями и т. Д.), Которые вы видите на своем телефоне, когда события идут вверх.

Более или менее приложение «Календарь», встроенное в телефон, реализовано производителем устройства (HTS, Motorola и т. Д.), Что означает, что триггер события BroadCast Receiver (или Service) - это не то, с чем вы можете связать.

В Ice Cream Sandwich все будет по-другому. Я полагаю, что с появлением API-интерфейса Calendar .... устройств 4.0 пока не так много.

...