当某个时间到来时执行一些操作
问题描述:
我正在构建一个Android组织者应用程序。 我有一个Event
类,有一个开始时间,我想在这个时候触发一些行动。那么,我该如何不断比较这个开始时间与当前时间,知道什么时候到来? 谢谢!当某个时间到来时执行一些操作
答
您可以使用以下解决方案之一:
- 有一个时间和计时器滴答,你可以比较你的开始时间与当前时间并在需要时触发你的行动。
- 或者,你可以使用一个ScheduledExecutorService的安排要在当前时间存档x秒在未来基站的任务以及活动的开始时间
当你在Android上,我会建议作为服务的一部分来执行此操作。
希望这会有所帮助。
答
而不是经常检查scheduleStartTime的当前时间,您可以安排任务在scheduledStartTime触发。
您可以使用的jobscheduler或AlarmManager https://developer.android.com/reference/android/app/job/JobInfo.Builder.html
https://code.tutsplus.com/tutorials/using-the-jobscheduler-api-on-android-lollipop--cms-23562
您可以设置当指定起始时间,并在毫秒当前时间之间的时间差来触发任务。
builder.setPeriodic(5000);
或者你也可以使用警报管理
https://developer.android.com/training/scheduling/alarms.html
希望这有助于