gpt4 book ai didi

android - 预定的警报未正确触发

转载 作者:行者123 更新时间:2023-11-29 18:02:51 32 4
gpt4 key购买 nike

我的应用程序为特定时间安排了多个警报。这些警报是在应用程序启动时安排的。 (每天有 5 个警报,每周有 35 个警报)...

我已通过日志验证这些警报是在应用程序启动时安排的。

问题是当我开始测试我的应用程序时,7 个警报完全正常。然而,第 8 个警报没有触发。我通过让我的设备静止超过 1 天来测试这种情况。我如何调试此行为以及阻止触发警报的可能原因是什么。

编辑:

调度代码:

try {
if (info != null) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, day);
c.set(Calendar.HOUR_OF_DAY, info.getHour());
c.set(Calendar.MINUTE, info.getMinute());
c.set(Calendar.SECOND, 0);

Intent intent = new Intent(context, AlarmReceiverActivity.class);
intent.putExtra("name", info.getPrayerName());
intent.putExtra("sound", soundType);

intent.putExtra("time", formatTimeClock(context, info.getHour(), info.getMinute()));

PendingIntent pendingIntent = PendingIntent.getActivity(context, alarmId, intent, PendingIntent.FLAG_CANCEL_CURRENT);

AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent);
}
} catch (Exception e) {
Log.e("ALarmSchedularManager", e.getMessage());
}

最佳答案

How can I debug this behaviour

使用 adb shell dumpsys alarm 查看您安排的警报是什么以及下一次调用它们的时间。

what are the possible reasons that prevent alarm for firing

考虑到时间已经过去的可能性,您的代码不会出现,尽管这可能会在您上面显示的代码 fragment 之外进行处理。

关于android - 预定的警报未正确触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14954769/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com