我每天和每周都会发射一次AlarmManager,但是当我改变它的发射时间时,用户可以在任何时间内获得硬币,而不是24小时。我应该使用计时器还是倒计时,因为报警管理器/ jobscheduler对我不起作用。感谢。
答案 0 :(得分:1)
设置闹钟时,您应该使用ELAPSED_REALTIME_WAKEUP或ELAPSED_REALTIME作为类型:
long millisToFirstCoinAward = 3600000;
initialDelay = SystemClock.elapsedRealtime() + millisToFirstCoinAward;
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, initialDelay, yourPeriod, yourPendingIntent);
这样,闹钟不依赖于手机上显示的“挂钟”时间,即使用户重新启动手机,闹钟和倒计时也会被重置,因此没有动力。