2017-01-21 6 views
0

インターネットが利用可能な場合は、最初にデバイスのインターネット接続をチェックしようとしています...サーバがオンラインであるかどうかを確認する必要があります。私はそれのためstackflowでの多くのことを検索しましたが、ありませんが、最新のソリューションは、Androidのサーバ可用性チェッカー

1

2

以下のように利用可能ですが、それのどれもが人々のコメントと私の裁判のように正常に動作していないところ。私は、私は誰もがこのコードでは使用できないか、サーバーを確認することができ、適切な解決策を持って知ってみましょう

コードの下
public static boolean isInternetAvailable(Context context) { 
    ConnectivityManager connectivity = (ConnectivityManager) context 
      .getSystemService(Context.CONNECTIVITY_SERVICE); 

    boolean isActiveNetworkConnected = false; 

    if (connectivity != null) { 

     NetworkInfo info = connectivity.getActiveNetworkInfo(); 

     if (info != null) { 
      if (info.getState() == NetworkInfo.State.CONNECTED) { 

       isActiveNetworkConnected = true; 
      } else { 
       isActiveNetworkConnected = false; 
      } 
     } 
    } else { 
     isActiveNetworkConnected = false; 
    } 

    return isActiveNetworkConnected; 

} 

でデバイスのインターネット状況をチェックしています。どうもありがとう。

答えて

0

インターネット接続を確認したら、単にテストAPIをヒットさせてサーバーの状態を確認できます。サーバーが応答した場合はサーバーに要求を送信し、次の作業を開始するか、または他の場合にユーザーが応答しないサーバーを処理します。ここで

がネットワークをチェックした後、サーバーの現在の状態をチェックするためのokhttp

public boolean isServerUp(){ 

    private final OkHttpClient client = new OkHttpClient(); 

     public void run() throws Exception { 
     Request request = new Request.Builder() 
      .url("your server url here") 
      .build(); 

     client.newCall(request).enqueue(new Callback() { 
      @Override public void onFailure(Call call, IOException e) { 
      e.printStackTrace(); 
      return false; 
      } 

      @Override public void onResponse(Call call, Response response) throws IOException { 
      if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); 
      return true; 
      } 
     }); 
     } 
     return false; 
} 
+0

nullでないかどうかを確認する必要がありますか? –

+0

... UIスレッドではなく、これを行うことを忘れないでください。 –

+0

編集済みの回答を確認@AnishaPandey –

0

を使用したサンプルで、応答はあなたがそれのために任意のサンプル・コードを持って

関連する問題