Android獲取wifi信號強度
1.Android獲取wifi信號質量:
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(); }
2.注冊 receiver監聽wifi 信號變化:</span></span>
</span>
public BroadcastReceiver rssiReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
}
};
@Override
public void onResume() {
super.onResume();
registerReceiver(rssiReceiver, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION));
Log.d("way", "Registered");
}
@Override
public void onPause() {
super.onPause();
unregisterReceiver(rssiReceiver);
Log.d("way", "Unregistered");
}
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!