gpt4 book ai didi

java - 如何在 Android 4.4 中设置准确的重复闹钟?

转载 作者:IT老高 更新时间:2023-10-28 23:40:35 30 4
gpt4 key购买 nike

现在,我正在设置这样的闹钟:

        AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

timedate = cal.getTime();

//convert date to milis
long timeInMilis = (timedate.getTime());

//Set Alarm to Repeat
manager.setRepeating(AlarmManager.RTC_WAKEUP, timeInMilis, interval, pendingIntent);

不幸的是,重复的预定时间不准确,我读到它们可能在整个间隔内都不准确!

所以,我想切换到设置精确的重复警报。我的设备至少需要最新的 API 19/Android 4.4,所以我不能使用 setRepeating。

我可以做些什么来设置精确的重复警报?

最佳答案

Unfortunately, the scheduled times for repeating are inexact and I read that they could be inexact for a full interval!

如果您的 targetSdkVersion 为 19 或更高,则可以。

What can I do instead to set an exact repeating alarm?

使用 setExact() 来控制您的初始延迟。然后,作为处理该事件的工作的一部分,使用 setExact() 在下一个所需时间获得控制权。 IOW,你自己做“重复”的部分。

是的,这很烦人。

故意让开发人员使用精确的重复警报很烦人,因为这些警报比不精确的兄弟更糟糕。如果 用户 会察觉到不准确的行为并且不欣赏它,请随意使用 setExact() 使警报在用户需要时发生。但是,如果用户不会察觉到不精确的行为,请使用不精确的警报,因为用户可能会注意到您的精确警报对电池的影响。

关于java - 如何在 Android 4.4 中设置准确的重复闹钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26959511/

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