2016-03-10 2 views
0

Я могу начать wifi hotspot в андроидном программировании. но я не могу это остановить.Я не могу остановить wifi hotspot в программировании на андроид

У меня есть 2 кнопки в моем приложении. и я могу начать wifi hotspot кнопкой 1. Я хочу остановить точку доступа Wi-Fi второй кнопкой.

это мои Java коды для запуска Wi-Fi точки доступа:

wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
       wmMethods = wifi.getClass().getDeclaredMethods(); 
       for(Method method: wmMethods){ 
        if(method.getName().equals("setWifiApEnabled")){ 
        netConfig = new WifiConfiguration(); 
        netConfig.SSID = wf; 
        netConfig.preSharedKey = wfp; 
        netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); 
        netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 
        netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 
        netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); 
        netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 
        netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 
        netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); 
        netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); 

        try { 
         method.invoke(wifi, netConfig,true); 
        } catch (IllegalArgumentException e) { 
         e.printStackTrace(); 
        } catch (IllegalAccessException e) { 
         e.printStackTrace(); 
        } catch (InvocationTargetException e) { 
         e.printStackTrace(); 
        } 
        } 
       }} 

пожалуйста, помогите мне в этом.

ответ

0

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

WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE); 

       if (wifiManager.isWifiEnabled()) { 
        wifiManager.setWifiEnabled(false); 
       } 

       WifiConfiguration apConfig = null; 
       Method method = null; 
       try { 
        method = wifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE); 
       } catch (NoSuchMethodException e) { 
        e.printStackTrace(); 
       } 
       try { 
        method.invoke(wifiManager, apConfig, false); 
       } catch (IllegalAccessException e) { 
        e.printStackTrace(); 
       } catch (InvocationTargetException e) { 
        e.printStackTrace(); 
       }