1. Android gets Wi-Fi signal quality:
Int strength = wifimanager. calculatesignallevel (info. getarg (), 5); that is, the signal strength.
Method:
Private string obtainwifiinfo () {// connection speed and signal strength of wifi: wifimanager = (wifimanager) getsystemservice (wifi_service); // wifiinfo = wifimanager. getconnectioninfo (); wifiinfo info = wifimanager. getconnectioninfo (); If (info. getbssid ()! = NULL) {// link signal strength int strength = wifimanager. calculatesignallevel (info. getarg (), 5); // link speed int speed = info. getlinkspeed (); // The link speed unit: String Units = wifiinfo. link_speed_units; // WiFi source name string SSID = info. getssid ();} return info. tostring ();}
2. Register a receiver to listen for Wi-Fi signal changes:
public BroadcastReceiver rssiReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { } }; @Override public void onResume() { super.onResume(); registerReceiver(rssiReceiver, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION)); Log.d("way", "Registered"); } @Override public void onPause() { super.onPause(); unregisterReceiver(rssiReceiver); Log.d("way", "Unregistered"); }