3

私のアプリケーションはAndroidでwifiマネージャーを使用していますが、次のような状況でエラーに直面しています::WIFIがオンになっていますが、(当社のwifiユーザー名とパスワードで)認証されていません。 、

私が使用しているコードは

try{
    if (connectivityManager != null && 
       (connectivityManager.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) ||
       (connectivityManager.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED))
    { 
        //You are connected, do something online.
        return true;
    }
    else if (connectivityManager.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED ||  
             connectivityManager.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED ) 
    {             
        //Not connected.        
        //Toast.makeText(getApplicationContext(), "You must be connected to the internet", Toast.LENGTH_LONG).show();
        loginTask.myPublishProgress("You must be connected to the internet");
        return false; 
    }   
    }
catch(NullPointerException ae)
   {
        ae.printStackTrace();
        loginTask.myPublishProgress("You must be connected to the internet");

   }
4

3 に答える 3

1

こんにちは、以下の回答を確認してください。

AndroidでWIFI接続が確立されたことを検出する方法は?

Android で Wi-Fi が接続されているかどうかを確認するにはどうすればよいですか?

于 2013-05-07T05:56:17.640 に答える
1

SupplicantStateを使用する

SupplicantState supState; 
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
supState = wifiInfo.getSupplicantState();

スタックオーバーフローでこの回答を参照してください

もしも COMPLETED - All authentication completed.

于 2013-05-07T05:49:46.493 に答える
0

使用しないでください

conectivityManager.getNetworkInfo(0) and getNetworkInfo(1).

その使用の代わりに

WiFiの場合

NetworkInfo conectivityManager = connectivity.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

モバイルネットワーク用(3g)

NetworkInfo conectivityManager = connectivity.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

Jelly Beans の原因は、そのような値をハードコーディングするのに問題があります。

于 2013-05-07T06:33:46.450 に答える