すべて - ユーザーが WiFi ネットワークに接続できるようにするアプリがあります。私はこの質問を見て、アプリを切断して再接続できるようにしました(つまり、正しいSSIDとパスワードを持っていました)が、彼はまさに私がやりたいことではありません. まだ接続されていない場合は接続したいだけで、すでに接続されている場合は何もしません。(設定で) WiFi をオフにしてアプリを実行しても、何も起こりませんでした。だから私はこれを試したよりも
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiConfiguration wc = new WifiConfiguration();
String networkSSID = SSID;
String networkPass = PASS;
wc.SSID = "\"" + networkSSID + "\"";
wc.preSharedKey = "\""+ networkPass +"\"";
wc.hiddenSSID = true;
List<WifiConfiguration> list = wifi.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifi.enableNetwork(i.networkId, true); //Look here
break;
}
}
これに対して
//Above code the same
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifi.disconnect(); //See, disconnect..
wifi.enableNetwork(i.networkId, true);
wifi.reconnect(); //Than reconnect!
break;
}
}
ただし、この変更は何もしませんでした (WiFi がオンの場合でも)。だから私の質問は、WiFiがまだオンになっていない場合はオンにし、既にオンになっている場合は何もしない方法です(ifステートメントを使用する必要があることがわかっているので、WiFi固有のコードを探しているだけです)?御時間ありがとうございます!