问题描述
我有一个使用 AlarmManager 安排提醒的逻辑。我需要实现以下内容:
逻辑 1:当用户更改时区时,例如他从英国 (UTC+0) 旅行到中欧 (UTC+1),警报应遵循时区。 例如,安排在 UTC+0 下午 3 点的提醒应该在 UTC+1 下午 4 点触发
逻辑2:当发生时移时,例如春季时移到夏令时(从UTC+1到UTC+2),闹钟应该保持原来的时间 例如,安排在 UTC+1 下午 3 点的提醒应该在 UTC+2 下午 3 点触发
我怎样才能做到这一点?到目前为止,我还没有什么特别的逻辑,所有的警报都遵循逻辑 1。我发现无法确定时间偏移何时发生。
调度逻辑很简单:
LocalDateTime reminderTime = LocalDateTime.of(...)
ZoneOffset currentOffsetForMyZone = ZoneId.systemDefault().getRules().getOffset(Instant.now());
reminderTime.toInstant(currentOffsetForMyZone).toEpochMilli();
alarmManager.setExact(AlarmManager.RTC_WAKEUP,reminderTime,pendingIntent);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)