惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
B
Blog RSS Feed
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
The Blog of Author Tim Ferriss
D
Docker
博客园 - 聂微东
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
量子位
宝玉的分享
宝玉的分享
博客园 - 司徒正美
The Cloudflare Blog
G
Google Developers Blog
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC

博客园 - Jokeyyu

联想扬天V340笔记本进入BIOS currentTimeMillis获取时间异常,基于服务器获取当前世界真实时间 Android 11 wifiInfo.getSSID 获取不到WiFi名称 git 打补丁用.diff文件不能成功 打包的时候报错 app:lintVitalRelease ,不能下载kotlin-compiler-27.0.1.jar tag mismatch 注册了上下文菜单的列表长按没有效果 recycleview 支持context menu android studio 不能安装调试并没有提示哪里异常 mysql 将一个字段的值复制到另一个字段 新单词 part 20 git 打patch 流程 新单词 part 19 新单词 part 18 retrofit 同时上传文件和参数 数据结构笔记 reclyceview 实现自由拖动排序 Android material-design-icons 图标资源 好用的 pdf 加载工具 viewbinding 和 include 标签同时使用时注意事项
wifi 开发指南
Jokeyyu · 2020-10-15 · via 博客园 - Jokeyyu
public class WifiUtils {
private Context mContext;
private WifiManager mWifiManager;

public WifiUtils(Context context) {
mContext = context;
mWifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
}

public boolean isWifiEnabled() {
return mWifiManager.isWifiEnabled();
}

public boolean startScan() {
return mWifiManager.startScan();
}

public String getConnectedSsid() {
return mWifiManager.getConnectionInfo().getSSID().replace("\"", "");
}

public List<ScanResult> getScanResults() {
return mWifiManager.getScanResults();
}

public void setWifiEnabled(boolean enabled) {
mWifiManager.setWifiEnabled(enabled);
}

public boolean connectWifiPws(String ssid, String pws) {
mWifiManager.disableNetwork(mWifiManager.getConnectionInfo().getNetworkId());
int netId = mWifiManager.addNetwork(getWifiConfig(ssid, pws, true));
return mWifiManager.enableNetwork(netId, true);
}

public boolean connectWifiNoPws(String ssid) {
mWifiManager.disableNetwork(mWifiManager.getConnectionInfo().getNetworkId());
int netId = mWifiManager.addNetwork(getWifiConfig(ssid, "", false));
return mWifiManager.enableNetwork(netId, true);
}

private WifiConfiguration getWifiConfig(String ssid, String pws, boolean isHasPws) {
WifiConfiguration config = new WifiConfiguration();
config.allowedAuthAlgorithms.clear();
config.allowedGroupCiphers.clear();
config.allowedKeyManagement.clear();
config.allowedPairwiseCiphers.clear();
config.allowedProtocols.clear();
config.SSID = "\"" + ssid + "\"";

WifiConfiguration tempConfig = isExist(ssid);
if (tempConfig != null) {
mWifiManager.removeNetwork(tempConfig.networkId);
}
if (isHasPws) {
config.preSharedKey = "\"" + pws + "\"";
config.hiddenSSID = true;
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
config.status = WifiConfiguration.Status.ENABLED;
} else {
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
}
return config;
}

private WifiConfiguration isExist(String ssid) {
List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks();
for (WifiConfiguration config : configs) {
if (config.SSID.equals("\"" + ssid + "\"")) {
return config;
}
}
return null;
}

public boolean isWifiConnect() {
ConnectivityManager connManager =
(ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return mWifi.isConnected();
}
}