如何在Android的特定时间每天调用Rxjava功能?

时间:2018-08-29 07:57:15

标签: android rx-java rx-java2 rx-android

我想使用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));

目的:我每天都有前台服务运行,我必须在特定时间显示通知。

1 个答案:

答案 0 :(得分:2)

您最好不要为此使用rx。而是看一下JobScheduler或WorkManager。在使用rxjava的情况下,如果主线程将由系统或用户完成,则不会触发您的操作。但是WorkManager API为您提供了配置许多选项(包括时间)的能力,这些选项指示系统何时开始工作。