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

Posted

技术标签:

【中文标题】如何在 Firebase 作业调度程序中检测网络断开连接?【英文标题】:How to Detect network disconnection in Firebase Job dispatcher? 【发布时间】:2018-04-13 04:08:05 【问题描述】:

在 firebase Job dispatcher 中,可以检测我们何时连接到网络,但如何检测我们何时断开网络?

    Job myJob = dispatcher.newJobBuilder()
    .setService(MyJobService.class) 
    .setTag("my-unique-tag")
    .setConstraints(
    // only run on an unmetered network
    Constraint.ON_UNMETERED_NETWORK,
    // only run when the device is charging
    Constraint.DEVICE_CHARGING
     )
    .build();

dispatcher.mustSchedule(myJob);

这将检测何时连接到未计量网络,我想在与所有网络断开连接时启动服务

【问题讨论】:

【参考方案1】:

使用 firebase 调度程序您无法检查断开连接(据我所知),但您可以使用广播接收器来检测连接更改并在其中调用您的工作服务

请参阅此链接了解广播接收器的使用情况

Broadcast receiver for checking internet connection in android app

在最新版本的 android 中,您需要动态注册和注销广播接收器

【讨论】:

以上是关于如何在 Firebase 作业调度程序中检测网络断开连接?的主要内容,如果未能解决你的问题,请参考以下文章

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

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

使用 firebase 作业调度程序安排重复作业

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

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

js 检测是不是断网