Android – Ativar o Roteador Wi-Fi programaticamente. (How to turn on hotspot in Android Programmatically)

android_hotspot

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);
    }
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s