gpt4 book ai didi

android - 在 Android Oreo 中每分钟更新一个小部件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:21:11 25 4
gpt4 key购买 nike

我有一个显示当前时间和一些其他信息的小部件,因此它必须每分钟更新一次。我正在使用每分钟触发一次的 AlarmManager 并调用更新小部件的 IntentService。此解决方案在 Oreo 之前的 Android 版本中运行良好。在 Oreo 上,此解决方案不起作用 - 看起来 AlarmManager 没有触发。我读到现在有一​​个 TextClock 控件可以自动将文本更新为当前时间,但不幸的是这不是解决方案,因为我需要在小部件上绘制其他非文本信息。

闹钟设置如下:

if (android.os.Build.VERSION.SDK_INT >= 19) {
alarmManager.setExact(AlarmManager.RTC, timeInMillis(), intent);

} else {
alarmManager.setRepeating(AlarmManager.RTC, timeInMillis(), 1000 * 60, intent);
}

请注意,每次在 Android 19+ 上触发时都会重新安排闹钟,因为它不是重复闹钟。

是否有替代解决方案可以在 Android O 及更高版本中运行上述内容?

最佳答案

如果您使用简单的 TextView 来显示时钟,请使用 TextClock 而不是 TextView(在 API 级别 17 中添加)

如果您正在使用更复杂的 View (例如,您绘制位图),则必须使用前台服务,该服务使用明确的 TIME_TICK 接收器或处理程序来安排更新。您必须显示前台通知,如果实现不当,可能会耗尽大量电池...

关于android - 在 Android Oreo 中每分钟更新一个小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50408245/

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