package com.paad.wifi;
import java.util.List;
import com.paad.util.NetworkUtil;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.util.Log;
import android.widget.Toast;
public class WiFiBroadcastReceiver extends BroadcastReceiver {
private Context context = null;
private WifiManager wifi = null;
public WiFiBroadcastReceiver(Context context, WifiManager wifi) {
this.context = context;
this.wifi = wifi;
}
@Override
public void onReceive(Context context, Intent intent) {
if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(intent.getAction())) {
findBestSignalConnection();
}
if (WifiManager.RSSI_CHANGED_ACTION.equals(intent.getAction())) {
findActiveConnection();
}
}
private void findBestSignalConnection() {
List<ScanResult> results = wifi.getScanResults();
ScanResult bestSignal = null;
for (ScanResult result : results) {
if (bestSignal == null || WifiManager.compareSignalLevel(bestSignal.level, result.level) < 0)
bestSignal = result;
}
String connSummary = String.format("%s networks found. %s is " + "the strongest.", results.size(), bestSignal.SSID);
Toast.makeText(context, connSummary, Toast.LENGTH_LONG).show();
Log.d(NetworkUtil.TAG, connSummary);
}
private void findActiveConnection() {
WifiInfo info = wifi.getConnectionInfo();
if (info.getBSSID() != null) {
String ssid = info.getSSID();
String units = WifiInfo.LINK_SPEED_UNITS;
int speed = info.getLinkSpeed();
int strength = WifiManager.calculateSignalLevel(info.getRssi(), 5);
String ipAddress = NetworkUtil.intToIp(info.getIpAddress());
String connSummary = String.format("Connected to %s at %s%s. " + "Strength %s/5. " + "IP %s", ssid, speed, units, strength, ipAddress);
Toast.makeText(context, connSummary, Toast.LENGTH_LONG).show();
Log.d(NetworkUtil.TAG, connSummary);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
WiFiManager.zip (32个子文件)
WiFiManager
bin
classes.dex 5KB
WiFiManager.apk 16KB
res
crunch
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
drawable-mdpi
ic_launcher.png 2KB
dexedLibs
classes
com
paad
wifi
BuildConfig.class 335B
R$layout.class 379B
WiFiManageActivity.class 1KB
R$drawable.class 392B
R$attr.class 325B
R.class 459B
WiFiBroadcastReceiver.class 3KB
R$string.class 417B
util
NetworkUtil.class 784B
resources.ap_ 11KB
AndroidManifest.xml 1KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
drawable-xhdpi
values
strings.xml 169B
drawable-mdpi
ic_launcher.png 3KB
layout
main.xml 392B
assets
gen
com
paad
wifi
BuildConfig.java 155B
R.java 647B
proguard.cfg 1KB
.settings
org.eclipse.jdt.core.prefs 177B
src
com
paad
wifi
WiFiBroadcastReceiver.java 2KB
WiFiManageActivity.java 1KB
util
NetworkUtil.java 263B
.project 814B
.classpath 475B
project.properties 361B
AndroidManifest.xml 1KB
共 32 条
- 1
资源评论
- joehuwork2018-10-31没有什么用处,不过就是看看
three_man
- 粉丝: 84
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功