您的位置:首页 > 其它

安卓广播监听WiFi信号强弱的变化

2017-09-14 10:01 405 查看
安卓开发过程中,有可能会遇到监听WiFi信号强弱的需求,比如:一些应用隐藏掉手机自带的状态栏,就需要自己实现监听WiFi信号的强弱,还有电池电量,还有时间的变化;废话不多说,下面看图,自己实现的状态栏:





下面是获取WiFi信号并设置相对应图标的代码:

/**
* 获取WIFI信号的强弱
*/
public void getWifiStrength(final ImageView ivSign) {

// 获得WifiManager
final WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
// 使用定时器,每隔5秒获得一次信号强度值
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {

private WifiInfo wifiInfo;

@Override
public void run() {
wifiInfo = wifiManager.getConnectionInfo();
//获得信号强度值
int level = wifiInfo.getRssi();
Log.d("赵小贱", level + "");
//根据获得的信号强度发送信息
if (level <= 0 && level >= -50) {
Message msg = new Message();
msg.what = 1;
handler.sendMessage(msg);
} else if (level < -50 && level >= -70) {
Message msg = new Message();
msg.what = 2;
handler.sendMessage(msg);
} else if (level < -70 && level >= -80) {
Message msg = new Message();
msg.what = 3;
handler.sendMessage(msg);
} else if (level < -80 && level >= -100) {
Message msg = new Message();
msg.what = 4;
handler.sendMessage(msg);
} else {
Message msg = new Message();
msg.what = 5;
handler.sendMessage(msg);
}

}

}, 1000, 5000);
// 使用Handler实现UI线程与Timer线程之间的信息传递,每5秒告诉UI线程获得wifiInto
// 如果收到正确的消息就获取WifiInfo,改变图片并显示信号强度
//以防万一
// 如果收到正确的消息就获取WifiInfo,改变图片并显示信号强度
//以防万一
// 如果收到正确的消息就获取WifiInfo,改变图片并显示信号强度
//以防万一
handler = new Handler() {

@Override
public void handleMessage(Message msg) {
switch (msg.what) {
// 如果收到正确的消息就获取WifiInfo,改变图片并显示信号强度
case 1:
ivSign.setImageResource(R.drawable.sign_4);

break;
case 2:
ivSign.setImageResource(R.drawable.sign_3);

break;
case 3:
ivSign.setImageResource(R.drawable.sign_2);

break;
case 4:
ivSign.setImageResource(R.drawable.sign_1);

break;
case 5:
ivSign.setImageResource(R.drawable.sign_error);

break;
default:
//以防万一
ivSign.setImageResource(R.drawable.sign_error);

}
}
};
}


点击下载源码:http://download.csdn.net/download/zhaoxiaojian1213/9977254

安卓实时更新显示时间:http://blog.csdn.net/zhaoxiaojian1213/article/details/77976688

安卓自定义电量显示图标:http://blog.csdn.net/zhaoxiaojian1213/article/details/77977505
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息