0

アクセス ポイントへの接続方法は知っていますが、すべて同じ SSID を使用している場合、最も強力なアクセス ポイントへの接続方法がわかりません。

私はこのようなものを構成しました

WifiConfiguration conf = new WifiConfiguration();
conf.SSID = convertToQuotedString("XYZ");
conf.status = WifiConfiguration.Status.ENABLED;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);

int netId = wifi.addNetwork(conf);

そして、私はこのようなことを言います

List<WifiConfiguration> _configs = wifi.getConfiguredNetworks();
     for (WifiConfiguration config : _configs) { 
          if ( config.SSID.equalsIgnoreCase(convertToQuotedString("XYZ"))){
            boolean erg = wifi.enableNetwork(config.networkId, true);
            Log.d(TAG, "enabling configured Network: " + Boolean.toString(erg) + 
            " SSID=[" + config.SSID + "] and ID=[" + config.networkId );    
        }
}

問題は今ですか?同じ SSID でより良い信号を持つ別のアクセス ポイントに接続するにはどうすればよいですか?

WifiConfiguration では、彼にこれを伝える可能性はありませんね。

方法を使用して、同じ SSID のより良いアクセス ポイントを見つけます

WifiManager.compareSignalLevel(bestSignal.level, connectedAcc.level) <0

どちらも同じ SSID を持っているため、WifiConfiguration に違いがない場合、より良い方に接続するにはどうすればよいですか?

私はあなたが私を助けてくれることを願っています、どうもありがとう

4

2 に答える 2

0

最適なものがわかったら、対応する WifiConfiguration で優先度を変更できます。

于 2012-05-16T16:17:27.130 に答える
0

それでも問題に対する答えが見つからない場合は、次のようにすることができます -

1) 最適な信号の BSSID と接続しているデバイスが同じであるかどうかを確認します。

a) 同じ場合は、最良の信号で SSID に接続されており、すべてが正常であることを意味します。

b) そうでない場合は、ステップ 2 に進みます。

2) 使用 wifi.disconnect();

これにより、現時点でどのアクセス ポイントにも接続されていないことが保証されます。

3) ここで、以前にアクセス ポイントに接続するために使用した SSID を使用すると、信号が最も強いものに接続されます。

于 2013-01-31T10:06:50.660 に答える