Conectarse a la red wifi en android, devolver si la contraseña es incorrecta
Me gustaría hacer una aplicación que permitirá al usuario conectarse a una red wifi, sin embargo, estoy teniendo problemas para obtener una conexión a una red
Mi código actual es:
- Obtener la intensidad de la señal de WIFI y datos móviles
- ¿Qué es diferente de NSD y WifiP2pManager?
- Wifi Connect-Desconectar de escucha
- wifi.getDhcpInfo () en Android devuelve la puerta de enlace IP incorrecta
- ¿Cuál es la diferencia entre la exploración activa y la exploración pasiva?
WifiManager wifi = (WifiManager) getSystemService(WIFI_SERVICE); wifi.setWifiEnabled(true); WifiConfiguration wc = new WifiConfiguration(); wifi.startScan(); List<ScanResult> l=wifi.getScanResults(); wc.SSID = l.get(NUMBER).SSID; post(wc.SSID); /*This is the bit that I think is failing, my network does not have these properties.. but I can't see how to get them from the Scan Result*/ wc.preSharedKey = "\"passw0rd123\""; wc.hiddenSSID = false; 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); int res = wifi.addNetwork(wc); post("add Network returned " + res); boolean b = wifi.enableNetwork(res, true); post("enableNetwork returned " + b);
Creo que esto tiene que ver con los ajustes (después de mi comentario) que no son lo mismo que mi configuración de redes, pero no sé cómo obtener estos parámetros de ScanResult.
EDIT: También me gustaría saber si se ha conectado correctamente.
- Establecer la configuración de IP de Android, DNS, GATEWAY mediante programación
- Reiniciar en modo TCP puerto 5555 se bloquea adb
- ¿Cómo me conecto a una red Wi-Fi específica en Android mediante programación?
- Android y WiFi Direct - Problemas de conexión
- Obtener la dirección MAC del dispositivo: cuando el wifi está desactivado
- ¿Por qué la pila SIP nativa incluida en Android 2.3 no funciona sobre 3g?
- Conéctese a una red wifi protegida con contraseña usando el shell de adb
- Cómo enviar MAC marco de datos de difusión con Android AP
Asegúrese de establecer los permisos correctos en el archivo AndroidManifest.xml
Compruebe si WIFI está habilitado o no en su dispositivo y recuerde en el emulador u no puede comprobarlo
Si WIFI está deshabilitado en onclick de la alerta u puede mostrar la página de configuración de Wifi- como este
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); if ((wifi.isWifiEnabled() == true)) { Toast.makeText(RegisterActivity.this,"MOBILE Is Connected TO WI-FI!", } else { AlertDialog.Builder WIFIOFF = new Builder(MyTestglobe.this); WIFIOFF.setCancelable(false); WIFIOFF.setTitle("Connection Error"); WIFIOFF.setMessage(" Please Enable Your WIFI/INTERNET !"); WIFIOFF.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int which) { startActivity(new Intent( Settings.ACTION_WIFI_SETTINGS)); } }); WIFIOFF.show(); }
Y dar estas permisiones en ur Manifest.xml
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
- CollapsingToolbarLayout no debe colapsar cuando RecyclerView está vacío
- ¿Cómo restablecer contenido de viewpager en Android?