2015-09-04 30 views
6

アンドロイド無線LANに接続されている私のデバイスが、どのように無線LANが接続されている場合、これらは、次のインターネットに接続アンドロイドどのように無線LANをチェックするために接続されているが、いないインターネット接続

はノーインターネット接続かどうかを確認しようとしている私のコードではないです

public static boolean isConnectedWifi(Context context) { 
     NetworkInfo info=null; 
     if(context!=null){ 
      info= IsNetConnectionAvailable.getNetworkInfo(context); 
     } 
     return (info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_WIFI); 
    } 

あなたがWi-Fi回線でインターネットに接続している場合は何のインターネットアクセス

答えて

-2

はちょうどチェックしないようにするときには、必ず以下のスニペットを見てい、trueを返す:

NetworkInfo getWifi(){ 
    ConnectivityManager connManager = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
    return mWifi; 
} 

接続されているかどうかを確認してください。

if(getWifi().isConnected()) { 
//wi-fi connected 
} 
+0

Kaveesh Kanwal、これは彼が求めたものではありません。 コードスニペットは、端末がWi-Fiに接続されているかどうかを確認するだけです。それはインターネット速度をテストしません。 –

+0

OPはインターネットの速度をチェックする方法を尋ねていません。がんばろう。 –

+0

また、デバイスが無線LANに接続されているかどうかを確認する方法も尋ねられていません。 :) インターネットにアクセスできない、私たちができることは、そのnwのパケット送信速度をチェックすることだけです。 –

1

あなたが使用しているコードは、あなたが無線LANに接続されているかどうかを確認するのに役立ちます。その無線LANが遅いかどうかはチェックしません。 (インターネットは接続が遅いという意味ではありません)。

このコードを使用しようとしました。ここでは、google.comを押して接続タイムアウト値を設定しようとしています。 ここでインターネットの速度が良い場合、返される結果は200です。結果のコードが200かどうかを確認します。そうでない場合は、インターネット接続が遅いという警告を表示します。 asyntaskで使用し、onPostExecute()は返された結果の値をチェックします。

HttpURLConnection urlc = null; 
    try { 
     urlc = (HttpURLConnection) (new URL("http://www.google.com") 
       .openConnection()); 
    } catch (MalformedURLException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } catch (IOException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
    urlc.setRequestProperty("User-Agent", "Test"); 
    urlc.setRequestProperty("Connection", "close"); 
    urlc.setConnectTimeout(1000); // choose your own timeframe 
    urlc.setReadTimeout(2000); // choose your own timeframe 
    try { 
     urlc.connect(); 

     // returning connection code. 
     return (urlc.getResponseCode()); 
    } catch (IOException e1) { 
     e1.printStackTrace(); 
    } 
+0

インターネット接続を確認するのに多くの時間がかかりました –

+0

他の方法はありますか? –

+0

を試してみてください: http://stackoverflow.com/questions/2802472/detect-network-connection-type-on-android –

関連する問題