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

在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);

这将检测何时连接到Unmetrered Network,我想在每个网络断开连接时启动服务

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

请参阅此链接以了解广播接收器的用法

Broadcast receiver for checking internet connection in android app

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

点赞