gpt4 book ai didi

java - AlarmManager 是否基于设备的当前时间?

转载 作者:行者123 更新时间:2023-11-29 19:46:05 32 4
gpt4 key购买 nike

我有一个应用程序,它有一个独立的(可以这么说).. Clock 来自设备的系统时钟。如果该时钟到达特定时间,我需要从该时钟创建一个警报。现在我正在使用 AlarmManagerPendingIntent 创建一个警报,但它只需要 long triggerAtMillis 作为参数。这是基于设备的系统时钟吗?

根据 AlarmManager.setRepeating()javadocs:

 * @param triggerAtMillis time in milliseconds that the alarm should first
* go off, using the appropriate clock (depending on the alarm type).

那么appropriate clock是什么意思呢?

最佳答案

尽管 AlarmManager 以设备时间工作,但触发警报的时间由您提供。

因此您可以计算自定义时钟和设备时钟之间的差异,然后相应地将时间传递给 AlarmManager

你可以这样试试

第 1 步获取设备时钟和您的时钟的当前时间并将它们相减得到差异

第2步有了区别,你现在可以根据你的时钟时间计算设备时间

第 3 步 现在根据该时间设置 AlarmManager,该时间相当于您自定义时钟时间的设备时间。

虽然这是一种解决方法,但这是我能想到的。

希望这有帮助:)

关于java - AlarmManager 是否基于设备的当前时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37649255/

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