validar tengo studio programa para intrusos internet hacer gente desde desconectar controlar conexion app alguien android

tengo - Cómo obtener información de conexión wifi actual en Android



validar si tengo internet android studio (2)

Lo más probable es que ya hayas encontrado la respuesta: currentWifi.getSSID() se cita en la mayoría de los casos donde scanResult.SSID no lo es (y, por supuesto, no debes usar == en cadenas :)).

Intente algo como esto, devuelve el SSID actual o null :

public static String getCurrentSsid(Context context) { String ssid = null; ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (networkInfo.isConnected()) { final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); if (connectionInfo != null && !StringUtil.isBlank(connectionInfo.getSSID())) { ssid = connectionInfo.getSSID(); } } return ssid; }

también se requieren permisos:

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

StringUtil no es una clase estándar de Android, por lo que puede usar TextUtils en TextUtils lugar. El código se ve así:

public static String getCurrentSsid(Context context) { String ssid = null; ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (networkInfo.isConnected()) { final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); if (connectionInfo != null && !TextUtils.isEmpty(connectionInfo.getSSID())) { ssid = connectionInfo.getSSID(); } } return ssid; }

Estoy tratando de encontrar si scanResult es la red wifi conectada actual.

aqui esta mi codigo

public boolean IsCurrentConnectedWifi(ScanResult scanResult) { WifiManager mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo currentWifi = mainWifi.getConnectionInfo(); if(currentWifi != null) { if(currentWifi.getSSID() != null) { if(currentWifi.getSSID() == scanResult.SSID) return true; } } return false; }

No tengo ningún problema en obtener resultados de escaneo.

Siempre estoy recibiendo actualWifi es nulo.

¿Dónde estoy equivocado o hay algún método alternativo para hacer esto?


Mi enfoque no desaprobado, modificado a la respuesta actual

public static String getCurrentSsid(Context context) { String ssid = null; ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = cm.getActiveNetworkInfo(); if (networkInfo == null) { return null; } if (networkInfo.isConnected()) { final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); if (connectionInfo != null && !StringUtil.isBlank(connectionInfo.getSSID())) { ssid = connectionInfo.getSSID(); } } return ssid; }