firebase 作业调度程序在 android 中以打瞌睡模式工作。?

Posted

技术标签:

【中文标题】firebase 作业调度程序在 android 中以打瞌睡模式工作。?【英文标题】:firebase job dispatcher is work in dozemode in android.? 【发布时间】:2018-02-05 16:08:06 【问题描述】:

我正在开发一个视频通话应用程序。当应用程序处于打盹模式时,未建立呼叫。所以我正在使用替代的 firebase 作业调度器,所以请告诉我,作业调度器是否在打瞌睡模式下工作?

【问题讨论】:

为什么需要一个 cron 作业来调用? 我也遇到了类似的问题,请问您最终解决了这个问题吗?如果有怎么办? 【参考方案1】:

如documentation 中所述,如果您希望您的应用程序立即响应任何通知,或者如果您的应用程序需要与后端服务(在您的情况下为视频通话)进行实时消息传递集成,您应该使用 Firebase Cloud Messaging ( FCM) high priority messages 在设备空闲时触发唤醒您的应用。

【讨论】:

【参考方案2】:

android 设备将进入打盹模式,这意味着它将节省电池电量,操作系统会偶尔协调执行耗电作业。这会松散确切的时间安排,但绝不会使其无法安排任何事情。

如果您查看documentation,触发器是由时间窗口设置的,而不是特定时间:

.setTrigger(Trigger.executionWindow(0, 60))

它应该在设备进入维护窗口时工作。

【讨论】:

【参考方案3】:

通常情况下,作业调度员会工作。但在小米、Oppo、联想等设备中,它并不是那么可靠……当设备空闲一段时间后,该服务就会被终止。您可以通过忽略电池优化将您的应用从打盹模式列入白名单,但仍有可能无法正常工作。因此,对于视频通话应用程序......您必须重新考虑您的决定

【讨论】:

以上是关于firebase 作业调度程序在 android 中以打瞌睡模式工作。?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查是不是在 Firebase 作业调度程序中安排了作业?

关闭应用程序时,Firebase 作业调度程序未执行

如何取消firebase作业调度程序中的重复作业

如何在 Firebase 作业调度程序中检测网络断开连接?

Firebase 作业调度员是不是需要互联网访问来安排作业?

Firebase云调度程序功能成本[关闭]