簡體   English   中英

Android Firebase 檢查連接狀態?

[英]Android Firebase check connection status?

我有一個帶有 Firebase 實時數據庫的應用程序。 如果未連接,此應用程序應顯示 ProgressBar。 我怎樣才能做到這一點? 我用“.info/connected”試過了,但結果似乎很隨機。 我需要檢查與在線數據庫的連接,而不是離線數據庫。 (基本上,我想禁用離線功能,並顯示用戶是否離線)

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 */
}

請參閱此鏈接以獲取更多信息

在 kotlin 中更好地檢查網絡連接:

val Context.isNetworkConnected
    get() = (getSystemService(ContextWrapper.CONNECTIVITY_SERVICE) as ConnectivityManager)
        .activeNetworkInfo?.isConnected ?: false

暫無
暫無

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

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