我有可用的WIFI列表。我想连接特定的wifi。如何使用我选择的特定WIFI进行身份验证。
选择其中一个列出的wifi并输入相同的密码后如何验证输入的密码与主机设置的相同。如何通过主机设置的数据比较数据?
您需要创建一个广播寄存器,如果它检测到wifi状态发生任何变化,它将触发广播意图。
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
创建一个侦听此更新的本地广播。例如
BroadcastReceiver WifiChangeReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action != null && action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
NetworkInfo networkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
Log.d(AppConstants.TAG, "onReceive: \"wifi connected:\" " + networkInfo.isConnected());
if (networkInfo.isConnected()) {
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (wifiInfo.getSSID().contains("your desired SSID")/*("Android")*/) {
isAllowed = true;
Log.d(AppConstants.TAG, "==============================onReceive: " + isAllowed);
Log.d(AppConstants.TAG, "onReceive:connected to wifi " + wifiInfo.getSSID());
} else {
Log.d(AppConstants.TAG, "onReceive:connected to wifi " + wifiInfo.getSSID());
isAllowed = false;
}
}
}
}
};
如果你连接wifi,这意味着你已经通过了正确的凭证,否则它是假的