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