首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >infor/connection返回false甚至设备有internet连接

infor/connection返回false甚至设备有internet连接
EN

Stack Overflow用户
提问于 2019-07-12 03:26:08
回答 1查看 63关注 0票数 0

作为标题,我使用infor/connection检查从客户端到数据库的连接,但是如果我卸载和重新安装应用程序,infor/connection返回true并在此之后返回false,即使该设备可以访问互联网,我也在真实的和虚拟的设备上进行了测试,这个问题仍然存在。

这是检查连接的代码:

代码语言:javascript
复制
 mValueEventConnection = new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                boolean isConnected = dataSnapshot.getValue(Boolean.class);

                updateConnectionStatus(isConnected);

                Log.d("SSSSS-CONNECTION", isConnected + "");

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                Log.d("SSSSS-CONNECTION", databaseError + "");
            }
        };

        CONNECT_REF.addValueEventListener(mValueEventConnection);

其结果是:

代码语言:javascript
复制
 D/SSSSS-CONNECTION: true
 D/SSSSS-CONNECTION: false

更新:

在第一次重新安装和打开应用程序之后,问题就会发生,但是第二次不会。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-13 16:20:29

.info/connection伪节点指示客户端是否连接到Firebase数据库服务器,而不仅仅是连接到internet。

请注意,如果没有活动数据侦听器且没有写入,则Firebase客户端在一分钟后会自动断开连接。因此,如果您没有活动的侦听器或写入,并且断开连接发生在连接大约一分钟后,这可以解释行为。

在最后一种情况下,您可以将侦听器附加到数据的某些常规部分,或一些不存在的节点:FirebaseDatabase.getInstance().getReference("ThisDoesNotExist").addValueEventListener(...)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56999809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档