xunlei 发表于 2015-10-2 09:29:31

转:android 获取wifi 信号质量

  获取方法:
  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");
    }
页: [1]
查看完整版本: 转:android 获取wifi 信号质量