设置AlarmManager并避免用户更改时间

时间:2018-01-31 10:41:37

标签: android timezone alarmmanager

我每天和每周都会发射一次AlarmManager,但是当我改变它的发射时间时,用户可以在任何时间内获得硬币,而不是24小时。我应该使用计时器还是倒计时,因为报警管理器/ jobscheduler对我不起作用。感谢。

1 个答案:

答案 0 :(得分:1)

设置闹钟时,您应该使用ELAPSED_REALTIME_WAKEUP或ELAPSED_REALTIME作为类型:

long millisToFirstCoinAward = 3600000; initialDelay = SystemClock.elapsedRealtime() + millisToFirstCoinAward; alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, initialDelay, yourPeriod, yourPendingIntent);

这样,闹钟不依赖于手机上显示的“挂钟”时间,即使用户重新启动手机,闹钟和倒计时也会被重置,因此没有动力。