Поставщик календаря Android автоматически устанавливает будильник
Я делаю деятельность, которая получает следующий будильник с методом getNextAlarmClock()
, Он отлично работает и показывает, как и ожидалось, более ранний будильник, установленный в системе (в моем случае из стандартного приложения часов MIUI).
Теперь возникает проблема:
Я заметил, что если я установил будильник на следующий день, будильник установлен на сегодняшнюю полночь. Но у меня нет будильника до завтра, и это повторяется каждый день (один день - полночь, один день - 19:50, один день - 11:50), но в этот час ничего не происходит.
Так что, будучи полностью сбитым с толку своим поведением по телефону, я подключился к adb shell
и выполнен dumpsys alarm
команда. Я нашел эти строки в выводе:
Batch{38cd120 num=1 start=298318940 end=298318940 flgs=0x3}:
RTC_WAKEUP #0: Alarm{5d9a2c9 type 0 when 1510599024750 com.android.providers.calendar}
tag=*walarm*:com.android.providers.calendar.SCHEDULE_ALARM
type=0 whenElapsed=+5h12m31s451ms when=2017-11-13 19:50:24
window=0 repeatInterval=0 count=0 flags=0x3
Alarm clock:
triggerTime=2017-11-13 19:50:24
showIntent=null
operation=PendingIntent{db9bdce: PendingIntentRecord{b3ec4ef com.android.providers.calendar broadcastIntent}}
Таким образом, кажется, что поставщик календаря Android запускает будильник каждый день, но в календаре нет заметок или событий.
Мои вопросы:
Почему провайдер календаря запускает этот сигнал тревоги? а почему это будильник вместо простого будильника?
Как я могу удалить все будущие звонки на этот сигнал тревоги?