O método abaixo é capaz de ativar e configurar o roteador wi-fi, veja que podemos passar a classe WifiConfiguration para configurar, caso queira manter a mesma configuração basta passar ‘null’.
/** * Exemplo: * WifiConfiguration netConfig = new WifiConfiguration(); * netConfig.SSID = "EVE03"; * netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); * netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN); * netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA); * netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); * * @param wifiConfiguration passar null para manter as configurações atuais * @param enable habilitar ou nao o hotspot/wifi ap * @throws Exception */ public void setWifiApEnable(WifiConfiguration wifiConfiguration, boolean enable) throws Exception { WifiManager wifi_manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); Method wifiApConfigurationMethod = wifi_manager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class); wifiApConfigurationMethod.invoke(wifi_manager, wifiConfiguration, enable); }
Lembre-se de aplicar as permissões necessárias:
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Você tambem pode usar o método abaixo para pegar as configurações do AP:
public WifiConfiguration getWifiApConfiguration() throws Exception { WifiManager wifi_manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); Method wifiApConfigurationMethod = wifi_manager.getClass().getMethod("getWifiApConfiguration"); return (WifiConfiguration) wifiApConfigurationMethod.invoke(wifi_manager); }
Android – Ativar o Roteador Wi-Fi programaticamente. (How to turn on hotspot in Android Programmatically)
Generally I don’t read post on blogs, however I would like to say that this write-up very compelled me to try and do it! Your writing taste has been amazed me. Thank you, quite great post.
My brother suggested I might like this website. He was totally right. This post actually made my day. You can not imagine simply how much time I had spent for this info! Thanks!