安卓系统:在尝试连接wifi站点时获得反馈



我正在开发一个android应用程序,在该应用程序中,我创建了一个带有WiFi点的列表,其中有两个字段(ssid字段和一个密码字段(和一个连接按钮。应用

我的问题是,当我填写2个字段并单击连接按钮时,如果手机连接到我尝试的wifi位置,或者密码错误,我想得到反馈。这样,如果连接或输入了错误的密码,我就可以打印吐司了。

**当密码错误时,手机会立即连接到以前的wifi位置。

按钮按下时我使用的代码

WifiConfiguration wifiConfiguration = new WifiConfiguration();
wifiConfiguration.SSID = """+ ssidField.getText().toString() +""";
wifiConfiguration.preSharedKey = """+ passwordField.getText().toString() +""";
int netId = wifiManager.addNetwork(wifiConfiguration);
if (netId >= 0) {
wifiManager.disconnect();
wifiManager.enableNetwork(netId, true);
myBroadcastReceiver = new MyBroadcastReceiver(connectionsList, wifiManager, 
emptyListText, ssidField, passwordField);
ssidField.setText("");
passwordField.setText("");
}

我在广播接收机中使用的代码

@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) 
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = 
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo.State state = networkInfo.getState();
// i use logs for testing
switch (state) {
case CONNECTING:
Log.i(TAG, "CONNECTING");
break;
case CONNECTED:
Log.i(TAG, "CONNECTED");
break;
case SUSPENDED:
Log.i(TAG, "SUSPENDED");
break;
case DISCONNECTED:
Log.i(TAG, "DISCONNECTED");
break;
case DISCONNECTING:
Log.i(TAG, "DISCONNECTING");
break;
}
}

当手机连接到我输入的wifi时,我如何获得反馈?

请参阅此。如何使用SUPPLICANT_STATE_CHANGED_ACTION WiFi BroadcastReceiver-安卓和这个https://developer.android.com/reference/android/net/wifi/SupplicantState.

最新更新