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"); }