2015-12-03 2 views
0

Я некоторое время работал над подключением Wi-Fi. Я могу использовать Android-устройство для открытия Wi-Fi-точки доступа, и к нему подключается другое устройство Android.Android подключается к wifi hotspot медленно, уже подключаясь к другому wifi

но здесь проблема. Я узнал, что состояние wifi отключится и снова подключится к Wi-Fi, который он уже запомнил, и последний (я думаю, когда он нашел, что горячая точка готова) снова отключится и снова подключится к моей горячей точке Wi-Fi. этот процесс занял почти 20-30 секунд.

вот мой код:

private void connectToWiFiHotSpot() { 
    WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); 
    mWifiConfig = new WifiConfiguration(); 
    mWifiConfig.SSID = "\"test5678\""; 
    mWifiConfig.preSharedKey = "\"12345678\""; 
    mWifiConfig.priority = 100000; 
    int res = wifiManager.addNetwork(mWifiConfig); 
    Log.d("WifiPreference", "add Network returned " + res); 
    wifiManager.disconnect(); 
    boolean isEnable = wifiManager.enableNetwork(res, true); 
    Log.d("WifiPreference", "enable Network returned " + isEnable); 
    wifiManager.reconnect(); 
} 

мой вопрос, есть ли способ, чтобы мое устройство подключиться к точке доступа напрямую без подключения к тому, что он запомнил. ускорить и увеличить производительность.

Я уже пробовал установить высокий приоритет и удалить другие помнить конфигурации Wi-Fi не то, что я хочу.

Любая помощь будет оценена по достоинству.

ответ

1

ОК, я нашел решение.

Чтобы отключить все настроенные сети, прежде чем добавлять указанную конфигурацию Wi-Fi.

WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); 
    //disable others 
    for (WifiConfiguration wifiConfiguration: wifiManager.getConfiguredNetworks()) { 
     wifiManager.disableNetwork(wifiConfiguration.networkId); 
    } 

    mWifiConfig = new WifiConfiguration(); 
    mWifiConfig.SSID = "\"test5678\""; 
    mWifiConfig.preSharedKey = "\"12345678\""; 
    mWifiConfig.priority = 100000; 
    int res = wifiManager.addNetwork(mWifiConfig); 
    Log.d("WifiPreference", "add Network returned " + res); 
    wifiManager.disconnect(); 
    boolean isEnable = wifiManager.enableNetwork(res, true); 
    Log.d("WifiPreference", "enable Network returned " + isEnable); 
    wifiManager.reconnect(); 

он будет напрямую подключаться к Wi-Fi, который вы назначили, вместо этого подключаетесь к другому Wi-Fi, который он помнит первым.

и, в конце концов, после отключения к этому Wi-Fi. Не забудьте включить другой Wi-Fi.

будет подключен к Wi-Fi, к которому он подключился.

for (WifiConfiguration config: wifiManager.getConfiguredNetworks()) { 
     wifiManager.enableNetwork(config.networkId, true); 

    } 
+0

Работал как очарование для меня, спасибо – Virthuss

Смежные вопросы