我怎么能在固定的时间内执行一个方法,就像我想在下午2:30运行一个方法一样。我知道定时器函数,但是运行一个定时器函数这么长时间是个好主意吗?同样,这个方法在一天中会被调用很多次。
**编辑:**我试过android_alarm_manager,但不适合我的情况(因为我需要从回调方法调用bloc),而且我不需要在后台运行我的应用。
任何帮助都将不胜感激
我怎么能在固定的时间内执行一个方法,就像我想在下午2:30运行一个方法一样。我知道定时器函数,但是运行一个定时器函数这么长时间是个好主意吗?同样,这个方法在一天中会被调用很多次。
**编辑:**我试过android_alarm_manager,但不适合我的情况(因为我需要从回调方法调用bloc),而且我不需要在后台运行我的应用。
任何帮助都将不胜感激
4条答案
按热度按时间mzmfm0qo1#
你可以这样使用:
定义***DateTime***和***StreamSubscription***. .
将流设置为定期运行/触发。
现在,听你的流如下。
zaq34kh62#
izkcnapc3#
我的应用程序也有类似的情况,我必须在一天中的某个时间触发一个事件。
我们不能使用计时器功能,因为一旦应用程序关闭,操作系统就会杀死应用程序,计时器也会停止运行。
因此,我们需要在某个地方保存时间,然后检查它,如果节省的时间现在已经到来。
首先,我创建了一个DateTime示例并将其保存在Firestore上。您也可以将该DateTime示例保存在本地数据库上,例如:SQFlite等。
现在将此示例保存到FireStore,并使用ID-
现在从Firestore检索此设置的时间,当应用程序打开-
但是在这里,我们必须一次又一次地运行getTheTimeToTriggerEvent()函数来检查时间是否到了。
bmvo0sr54#
您可以尝试Cron
格式
更多示例
要为项目自定义调度程序,请阅读this