我想使用rxjava执行警报类型任务。我已经在使用rxjava interval运算符,但是它要求输入时间间隔,我不想给出时间间隔,而是想每天在12:00 am重复此功能。
这是我基于间隔的Rx Observable的代码:
return Observable.interval(delay, TimeUnit.SECONDS).timeInterval()
.flatMap((Function<Timed<Long>, ObservableSource<CustomTime.TimeTempBuilder>>) longTimed -> getDataManager().getTimeByDate(date));
目的:我每天都有前台服务运行,我必须在特定时间显示通知。
答案 0 :(得分:2)
您最好不要为此使用rx。而是看一下JobScheduler或WorkManager。在使用rxjava的情况下,如果主线程将由系统或用户完成,则不会触发您的操作。但是WorkManager API为您提供了配置许多选项(包括时间)的能力,这些选项指示系统何时开始工作。