转: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");
    }
posted @ 2012-05-29 16:10  xiaodao9527  阅读(207)  评论(0编辑  收藏  举报