2017-09-08 104 views
0

我有一個使用Firebase實時數據庫的應用程序。如果未連接,此應用程序應顯示ProgressBar。我怎樣才能做到這一點?我用「.info/connected」試過了,但結果看起來很隨意。我需要檢查到在線數據庫的連接,而不是離線數據庫。 (基本上,我想禁用脫機功能,並顯示用戶是否處於離線狀態)Android Firebase檢查連接狀態?

回答

2
var firebaseRef = new Firebase('http://INSTANCE.firebaseio.com'); 
firebaseRef.child('.info/connected').on('value', function(connectedSnap) { 
    if (connectedSnap.val() === true) 
    { 
    /* we're connected! */ 
    } 
    else { 
    /* Give a custom Toast/Alert dialogue and exit the application */ 
    } 
}); 

您還可以添加此檢查

public static boolean isNetworkAvailable(Context con) { 
     try { 
      ConnectivityManager cm = (ConnectivityManager) con 
        .getSystemService(Context.CONNECTIVITY_SERVICE); 
      NetworkInfo networkInfo = cm.getActiveNetworkInfo(); 

      if (networkInfo != null && networkInfo.isConnected()) { 
       return true; 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return false; 
    } 

然後在你的活動檢查該/片段

if (isNetworkAvailable) 
{ 
//Do you task 
} 
else{ 
/*No internet so Give a custom Toast/Alert dialogue and exit the application */ 
} 

請參考這個link欲瞭解更多信息

+0

我曾嘗試過,如我所說。但即使當我關掉互聯網時,我仍然因此而「真實」。這就是我首先要問的原因。 –

+0

請參閱我對互聯網的修訂答案檢查,如果它不可用,請給出正確的信息並退出您的應用程序 –