Wifi信号质量的监听
1:通过WifiManager.RSSI_CHANGED_ACTION监听信号质量RSSI的变化
2:
public class WifiRssiReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(WifiManager.RSSI_CHANGED_ACTION)){
int strength=getStrengthLevels(context);
System.out.println("当前信号 "+strength);
}
}
public int getStrengthLevels(Context context)
{
WifiManager wifiManager = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifiManager.getConnectionInfo();
if (info.getBSSID() != null) {
int x=info.getRssi();
int strength = WifiManager.calculateSignalLevel(info.getRssi(), 5);
Log.d("wifi", "getStrength: ---"+x+"____"+strength);
return strength;
}
return 0;
}
}
3:
<receiver android:name=".WifiRssiReceiver">
<intent-filter>
<action android:name="android.net.wifi.RSSI_CHANGED" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
今天多一点积累,明天少一分烦恼

浙公网安备 33010602011771号