Android 獲取WiFi信號

jopen 11年前發布 | 39K 次閱讀 WiFi Android開發 移動開發

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

}</pre><br />
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!