2017-09-08 19 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

私の改訂版インターネットチェックを参照し、利用できない場合は適切なメッセージを出してアプリケーションを終了してください –

関連する問題