我的android kotlin应用程序中有一个按钮,点击后会从Firebase存储上的文件中输出一个随机单词。我希望每个用户的单词在一周内都是同一个单词(对于每个用户,而不是每个人),然后(例如周日12:00)更改为另一个单词。
到目前为止,我已经尝试过:
-
当用户首次登录时分配单词
-
设置
JobService
检查是否是星期日12
val jobScheduler=requireContext().getSystemService(Context.JOB_SCHEDULER_SERVICE)作为jobScheduler
val componentName = ComponentName(requireContext(), FetchRandomWordJobService::class.java)
val jobInfo = JobInfo.Builder(0, componentName)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setPersisted(true)
.setPeriodic(AlarmManager.INTERVAL_DAY)
.setExtras(PersistableBundle())
.build()
jobScheduler.schedule(jobInfo)
class FetchRandomWordJobService : JobService() {
override fun onStartJob(params: JobParameters?): Boolean {
val calendar = Calendar.getInstance()
if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY && calendar.get(Calendar.HOUR_OF_DAY) == 12) {
//assign new word
}
return false
}
override fun onStopJob(params: JobParameters?): Boolean {
return false
}
但它没有起作用。
有人能提出为什么它不起作用/另一个想法如何以另一种方式实现这样的事情吗?