gpt4 book ai didi

Android 警报管理器在 5 秒后重复并忽略间隔时间

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:18 24 4
gpt4 key购买 nike

我正在开发一个小部件应用程序,我必须每隔一分钟执行一些任务。所以,我正在使用 AlarmManager 来实现这一点。但是无论我设置什么间隔时间,它都是每 5 秒重复一次。

我是这样使用 AlarmManager 的:

 final AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pendingIntent);
long interval = 60000;
alarm.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), interval, pendingIntent);

提前致谢。

最佳答案

AlarmManager.ELAPSED_REALTIME 用于在系统启动时触发警报。而 AlarmManager.RTC 使用 UTC 时间。

 alarm.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), interval, pendingIntent);

这将在系统启动后开始运行,并以指定的时间间隔重复。

alarm.setInexactRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), interval, pendingIntent);

这将从现在开始运行,并以指定的时间间隔重复。

为了解决这个问题,我建议使用AlarmManager.RTC。如果你想在 1 分钟后启动闹钟然后重复,然后像这样传递第二个参数:

calendar.getTimeInMillis() + interval

另请查看 android documentation还有这个answer在警报中获得更多解释。

关于Android 警报管理器在 5 秒后重复并忽略间隔时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43467229/

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