Android 获取WiFi信号

jopen 11年前

 int strength = WifiManager.calculateSignalLevel(info.getRssi(), 5);即信号强度。    获取方法:    private String obtainWifiInfo() {    // Wifi的连接速度及信号强度:    WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);    // WifiInfo wifiInfo = wifiManager.getConnectionInfo();    WifiInfo info = wifiManager.getConnectionInfo();    if (info.getBSSID() != null) {    // 链接信号强度    int strength = WifiManager.calculateSignalLevel(info.getRssi(), 5);    // 链接速度    int speed = info.getLinkSpeed();    // 链接速度单位    String units = WifiInfo.LINK_SPEED_UNITS;    // Wifi源名称    String ssid = info.getSSID();    }    return info.toString();    }           //////////////////////////// wifi 信号变化 :    注册 receiver,           public BroadcastReceiver rssiReceiver = new BroadcastReceiver() {                   @Override            public void onReceive(Context context, Intent intent) {                // TODO Auto-generated method stub                    Log.d("Rssi", "RSSI changed");                   // wifiInfo.setText(obtainWifiInfo());                   }        };        @Override        public void onResume() {            super.onResume();            registerReceiver(rssiReceiver, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION));                        Log.d("Rssi", "Registered");        }               @Override        public void onPause() {            super.onPause();                        unregisterReceiver(rssiReceiver);            Log.d("Rssi", "Unregistered");        }