簡體   English   中英

即使設備有互聯網連接,信息/連接也返回假

[英]infor/connection return false even device has internet connection

作為標題,我使用infor/connection檢查從客戶端到數據庫的連接,但是如果我卸載並重新安裝應用程序,則infor/connection返回true並返回false ,即使設備可以訪問互聯網,我已經測試在真實和虛擬設備上,這個問題仍然存在。

這是檢查連接的代碼:



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

結果:

 D/SSSSS-CONNECTION: true
 D/SSSSS-CONNECTION: false

更新:

第一次重新安裝並打開應用程序后,會出現問題,但第二次不會。

.info/connection偽節點指示客戶端是否連接到 Firebase 數據庫服務器,這不僅僅是連接到互聯網。

請注意,如果沒有活動數據偵聽器且沒有寫入,Firebase 客戶端會在一分鍾后自動斷開連接。 因此,如果您沒有活動的偵聽器或寫入,並且在連接后大約一分鍾左右斷開連接,則可以解釋這種行為。

在最后一種情況下,您可以將偵聽器附加到數據的某個常規部分或某個不存在的節點: FirebaseDatabase.getInstance().getReference("ThisDoesNotExist").addValueEventListener(...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM