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);
    }

Help DEV – Analista desenvolvedor Java / Android

http://helpdev.com.br/zarelli

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

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>