【发布时间】:2018-07-29 18:12:07
【问题描述】:
我正在使用 API 为我的 Android 应用获取电影版本,并且发布日期以 UTC 毫秒为单位。当我采用该发布日期并将其设置在用户的手机上时,它会在他的时区进行转换并被调用。
示例:
电影的上映日期(以毫秒为单位):
1509667200000
到UTC时间和日期:
2017 年 11 月 3 日星期五 00:00:00
到本地时间和日期:(东部时间,我的时区)
2017 年 11 月 2 日星期四 20:00:00
当我设置闹钟时
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(releaseDate);
Date date = calendar.getTime();
alarmManager.set(AlarmManager.RTC_WAKEUP, date.getTime(), alarmIntent);
警报在 2017 年 11 月 2 日 20:00:00 被调用,但它需要在 11 月 3 日午夜被调用。
谢谢
【问题讨论】:
-
我认为你应该使用
setExact()而不是set()来代替alarmManager。请参阅此文档developer.android.com/reference/android/app/…
标签: android alarmmanager