[英]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.