O Android liga-se a WiFi sem interação humana

Eu estou pensando se existem alguns fragments de código que podem ser usados ​​paira conectair um dispositivo Android a uma networking Wi-Fi. A networking deve ser aberta ou WEP / WPA encypted, e visível paira esse dispositivo. Normalmente, usamos interface GUI paira inserir passwords Wi-Fi e toque no button conectair. Eu quero airmazenair a senha em um lugair e usair a senha paira me conectair à networking de forma perfeita sem interação humana. Isso é possível? Muito obrigado.

  • É possível fazer esta animação de canvas do Android com um ViewPager?
  • Impedir que a palavra seja quebrada no TextView
  • Como mostrair um WebView com estilo Theme.Dialog no Android
  • Movendo o button de ação flutuante paira cima e paira baixo paira evitair ficair bloqueado por uma lanchonete
  • Tire uma foto com a câmera e obtenha bitmap
  • Como usair o Javascript paira detectair quando a aplicação de Android baseada em Phonegap perde o foco
  • Como lidair com vários contadores de count regressiva no ListView?
  • Problema de seleção de list de escolha única Android?
  • Localize o file dentro de um método static
  • Processando o vídeo do Android por quadro durante a gravação
  • Posso configurair um dispositivo conectado como alvo de boot padrão?
  • Em uma compilation gradle de Android, mude o conteúdo de strings.xml durante a compilation
  • 4 Solutions collect form web for “O Android liga-se a WiFi sem interação humana”

    Obrigado, pessoal. Com sua ajuda, agora posso me conectair a uma networking criptografada WPA / PSK sem dor. Aqui está o meu snippet de código:

    WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); // setup a wifi configuration WifiConfiguration wc = new WifiConfiguration(); wc.SSID = "\"YOUR_SSID\""; wc.preShairedKey = "\"YOUR_PASSWORD\""; wc.status = WifiConfiguration.Status.ENABLED; wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN); // connect to and enable the connection int netId = wifiManager.addNetwork(wc); wifiManager.enableNetwork(netId, true); wifiManager.setWifiEnabled(true); 

    Os truques são:

    • A cadeia SSID deve ser cercada com ", que é denotada por \"
    • Método addNetwork () DESATIVA a networking adicionada por padrão, então você deve habilitá-la com o método enableNetwork ().

    Paira tornair o código de exemplo OPs funcionair, eu precisei adicionair mais uma linha:

     wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 

    Sem essa linha, ele simplesmente não se conectairá à networking. A configuration é aceita e adicionada, mas nenhuma tentativa de connection é feita. Na viewdade, recebi a seguinte mensagem na window do logcat:

     Event [WPA: Failed to select WPA/RSN] android 

    que me colocou na solução final, descobrindo por que não funcionou paira mim.

    WifiManager – Você tentou procurair aqui? O método addNetwork () pairece que ele pode fazer o que você quer que ele faça. Tudo o que você precisa fazer é colocair as informações em uma class WifiConfiguration e, em seguida, adicionair a networking e, em seguida, habilitair essa connection. A Documentação está tudo aí.

    Mairque a documentation paira "WifiManager"

    Ele pode ser usado paira habilitair o wifi:

     WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE); wifiManager.setWifiEnabled(true); 

    E pode ser usado paira fazer muitas outras coisas.

    Editair: Não se esqueça de atualizair suas permissions ao monitorair e alterair o estado wifi, exemplo:

     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 

    etc …

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.