Android 更改系统时钟后应用小部件未更新

Android app widget not updating after changing system clock

我有一个 Android 小部件计划每小时更新一次

android:updatePeriodMillis="3600000"

然而,即使我更改系统时钟(向前一小时或更长时间),也不会调用小部件更新方法,也不会发生任何视觉变化或日志。

我什至等了几分钟,认为 OS 可能会等到下一分钟,因为它不需要精度,但仍然没有触发。

更改系统时间不会触发基本小部件更新?

您做得对,但不能保证它会在您预期的确切时间更新。它可能会延迟。检查 documentation.

The actual update is not guaranteed to occur exactly on time with this value.

小部件使用另一个内部时钟进行自我更新,您需要等待 30 分钟才能看到更改,并且不能通过更改设备的日期来加速。

如果需要更少的时间,则可以选择 AlarmManager。

重要提示:如果 小部件频率为 30 分钟,则所有用户将在每小时 00:00 和 00:30 准确更新小部件。因此,如果小部件咨询服务,服务器将每半小时收到一次请求高峰。