Подключиться к точке доступа программы программно

В моей программе есть две возможности

  1. создать точку доступа
  2. подключиться к этой точке доступа

Я устанавливаю эту программу на два разных устройства. Samsung gallaxyS2 и HTC oneM8 . нет проблем с созданием точки доступа. Если я создаю точку доступа на Samsung gallaxyS2, я могу легко подключиться к ней с HTC oneM8, но если я создаю точку доступа на HTC oneM8 и пытаюсь подключиться к Samsung gallaxyM8, функция addNetwork возвращает -1 . это мой соединительный код:

private void JoinToNetWork(){
    ScanResult AP= scanAP();
    if (AP!=null){
        try{
            txt.setText("Hotspot named ''" + AP.SSID +"'' is found !  \n");
            wConfig=new WifiConfiguration();
            wConfig.SSID=AP.SSID;
            wConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
            wConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
            wConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
            wConfig.allowedAuthAlgorithms.clear();
            wConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
            wConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
            wConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
            wConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
            wConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
            wConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
            int NetId=wfMgr.addNetwork(wConfig);
            try{
                txt.append("Disconnect : " + wfMgr.disconnect() +"\n");
                txt.append("Enabling network ... " + wfMgr.enableNetwork(NetId, true) + "\n");
                txt.append("Reconnect to " + AP.BSSID + "/" + AP.SSID + ".... " + wfMgr.reconnect() + "\n");
                wfMgr.setWifiEnabled(true);
                txt.append("connected");
            }catch(Exception e){
                txt.setText(e.toString());
            }
        }catch(Exception e){
            Toast.makeText(this.getBaseContext(), e.getMessage()+"..."+e.toString(),Toast.LENGTH_LONG).show();
        }
    }else 
        Toast.makeText(this.getBaseContext(), "There is no BluffGame AccessPoint",Toast.LENGTH_LONG).show();
}

0 ответов

Другие вопросы по тегам