0

単純なものに違いないと確信していますが、理解できないコードに奇妙な問題があります。私のコードには、現在接続されているネットワーク名を文字列と比較する if ステートメントがあります。私が抱えている問題は、SSID が文字列と一致しても if ステートメント内のコードを実行しないことです。現在のネットワーク名をログに記録したので、一致することを確認できました。元のネットワーク名で最初に機能しなかったときに、物事を単純化するために、ネットワークに「1」という名前を付けました。

誰かがアイデアを持っている場合は、私に知らせてください:)

コードに感謝します:

        ConnectivityManager connMgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
        mWifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        WifiManager wifiMgr = (WifiManager) ActivityZoneControl.this.getSystemService(Context.WIFI_SERVICE);
        WifiInfo wifiConInfo = wifiMgr.getConnectionInfo();
        wifiName = wifiConInfo.getSSID()

        Log.i(debugLOG, wifiName);

        if (wifiName.equals("1")){
             //do something
        }

        else {
            // do something else
        }

ログ:
ログ

4

1 に答える 1

2

ログ出力に基づいて、SSID 文字列に引用符が含まれているようです。

ここに画像の説明を入力

代わりにこのテストを使用することを検討してください。

if (wifiName.equals("\"1\"")){
于 2014-05-02T15:54:02.393 に答える