public void WlanEventHandler(Wlan.WlanNotificationData eventData) { switch (eventData.notificationSource) { case Wlan.WlanNotificationSource.ACM: switch ((Wlan.WlanNotificationCodeAcm)eventData.notificationCode) { case Wlan.WlanNotificationCodeAcm.ConnectionAttemptFail: log.Debug("ConnectionAttemptFail"); break; case Wlan.WlanNotificationCodeAcm.ConnectionComplete: log.Debug("ConnectionComplete"); break; case Wlan.WlanNotificationCodeAcm.ConnectionStart: state = WiFiState.Connecting; updaterNetStatus.Update(); log.Debug("ConnectionStart"); break; case Wlan.WlanNotificationCodeAcm.Disconnected: state = WiFiState.Disconnected; updaterNetStatus.Update(); log.Debug("ACM.Disconnected"); break; case Wlan.WlanNotificationCodeAcm.Disconnecting: state = WiFiState.Disconnecting; updaterNetStatus.Update(); log.Debug("Disconnecting"); break; case Wlan.WlanNotificationCodeAcm.InterfaceRemoval: state = WiFiState.NoWirelessInterface; updaterNetStatus.Update(); log.Debug("InterfaceRemoval"); break; } break; case Wlan.WlanNotificationSource.MSM: switch ((Wlan.WlanNotificationCodeMsm)eventData.notificationCode) { case Wlan.WlanNotificationCodeMsm.AdapterOperationModeChange: log.Debug("AdapterOperationModeChange"); break; case Wlan.WlanNotificationCodeMsm.AdapterRemoval: state = WiFiState.NoWirelessInterface; updaterNetStatus.Update(); log.Debug("AdapterRemoval"); break; case Wlan.WlanNotificationCodeMsm.SignalQualityChange: log.Debug("SignalQualityChange"); break; case Wlan.WlanNotificationCodeMsm.Associated: log.Debug("Associated"); break; case Wlan.WlanNotificationCodeMsm.Associating: log.Debug("Associating"); break; case Wlan.WlanNotificationCodeMsm.Authenticating: log.Debug("Authenticating"); break; case Wlan.WlanNotificationCodeMsm.Connected: state = WiFiState.Connected; updaterNetStatus.Update(); log.Debug("MSM.Connected"); break; case Wlan.WlanNotificationCodeMsm.Disassociating: log.Debug("Disassociating"); break; case Wlan.WlanNotificationCodeMsm.Disconnected: state = WiFiState.Disconnected; updaterNetStatus.Update(); log.Debug("MSM.Disconnected"); break; } break; } }
/// <summary> /// 获取WiFi状态 /// </summary> /// <returns></returns> public static string GetWIFIState() { WiFiState state = WiFiState.WIFI_STATE_UNKNOWN; AndroidJavaObject wifiManager = UnityActivity.Call <AndroidJavaObject>("getSystemService", "wifi".ToJavaString()); if (wifiManager != null) { int wifiState = wifiManager.Call <int>("getWifiState"); state = (WiFiState)wifiState; } return(state.ToString()); }
public void SetState() { String strState = ""; if (wlanIface == null) { state = WiFiState.NoWirelessInterface; strState = "WiFi Not Available"; } else { lock (wlanIface) { switch (wlanIface.InterfaceState) { case Wlan.WlanInterfaceState.Connected: state = WiFiState.Connected; strState = "Connected"; break; case Wlan.WlanInterfaceState.Disconnected: state = WiFiState.Disconnected; strState = "Disconnected"; break; case Wlan.WlanInterfaceState.Disconnecting: state = WiFiState.Disconnecting; strState = "Disconnecting"; break; case Wlan.WlanInterfaceState.NotReady: state = WiFiState.NoWirelessInterface; strState = "WiFi Not Available"; break; case Wlan.WlanInterfaceState.Associating: case Wlan.WlanInterfaceState.Authenticating: state = WiFiState.Connecting; strState = "Connecting"; break; } } } if (state == WiFiState.Connected) { SetBandwidth(wlanIface.NetworkInterface.GetIPStatistics().BytesReceived, wlanIface.NetworkInterface.GetIPStatistics().BytesSent); } else { SetBandwidth(-1, -1); } frmMain.TSSetStatus(strState); }