Android AlarmManager。如何考虑时区之间的过渡以及冬夏两季的过渡?

Sir*_*tor 3 java timezone android alarmmanager

面对这个问题-我需要组织一个通知(通知),该通知将在一周的特定日期,小时和分钟(例如,每个星期五的17:00-17:59)进行检查。想要使用重复间隔7 * AlarmManaget.INTERVAL_DAY = 604800000 ms。但是有一个陷阱与用户可以在时区之间旅行以及如何解决从夏季到冬季的过渡这一事实有关。在时区之间的转换中(例如,从两个到三个的转换),皮带通知不会在17:00和18:00出现。希望对您有所帮助。

Dee*_*ala 5

注册“时区已更改”广播接收器

<receiver android:name=".TimeZoneBroadcastReceiver">
    <intent-filter>
        <action android:name="android.intent.action.TIMEZONE_CHANGED " />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

在该onReceive方法上,取消所有未决警报并重新安排它们的时间。