我正在进行一项活动,该活动使用该方法获取下一个闹钟getNextAlarmClock()
。它完美地工作并按预期显示系统中设置的早期闹钟(在我的情况下来自股票 MIUI 时钟应用程序)。
现在问题来了:
我注意到,如果我将闹钟设置为第二天,则闹钟设置为今天的午夜。但是我在明天之前没有设置任何闹钟,并且每天都会重复(一天是午夜,一天是晚上 7: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 日历提供程序每天都会触发闹钟,但日历中没有备忘录或事件。
我的问题是:
为什么日历提供程序会触发此警报?为什么它是一个闹钟而不是一个简单的闹钟?
如何删除所有未来对该警报的呼叫?