离线模式下的Firebase OnSuccessListener

时间:2018-09-15 09:29:04

标签: java android firebase firebase-realtime-database

在Firebase addOnSuccessListener中,当应用程序处于在线模式时,将调用该方法。但是在离线模式下不会调用它。以下是我的代码:

mFirebaseDatabase.setValue(newAreaModel)
    .addOnSuccessListener(new OnSuccessListener<Void>()
    {
        @Override
        public void onSuccess(Void aVoid)
        {
            finish();
        }
    })
    .addOnFailureListener(new OnFailureListener()
    {
        @Override
        public void onFailure(@NonNull Exception e)
        {
            Toast.makeText(getApplicationContext(), "Something went Wrong!", Toast.LENGTH_SHORT).show();
        }
    });

现在我想在离线模式下调用setValue()方法时完成活动。

有人可以建议我怎么做吗?

2 个答案:

答案 0 :(得分:1)

如果网络连接丢失(用户设备上没有网络连接),则不会触发num_filters * (kernel_size * n_features) + one_bias_per_filter = n * (k * emb_dim) + n = 32 * (3 * 100) + 32 = 9632onSuccess()方法。这一直是Firebase实时数据库中的行为。只有在Firebase服务器上提交的写入才被挂起,才被视为成功或失败。

  

现在我想在离线模式下调用setValue()方法时完成该活动。

不幸的是,据我所知,没有什么事件会在将数据写入本地队列时触发。

答案 1 :(得分:0)

根据Firebase Guru Frank van Puffelen

  

没有将数据写入本地队列时触发的事件。

https://stackoverflow.com/a/46014750/8518676