自定义获取WI-FI列表及相关设置
来源:互联网 发布:剑三dbm数据导入失败 编辑:程序博客网 时间:2024/06/06 06:51
辗转反则好长时间,转眼间自己从事android行业已经有三年了,却什么都没留下来,在这行业中奋斗,过着一个人的生活。。。。
好了,废话不多说了,上干货。
Wi-Fi在android 中是不可切分的一部分,并且是生活中不可切分的部分,一般情况下,在应用开发的时候会很少用到相关的东西,因为没有人愿意打开你的应用去设置网络连接,都是通过系统设置连接Wi-Fi,进入我们的应用,但是在某些应用中不乏缺少使用Wi-Fi的基本使用的
Wi-Fi相关的基本信息不做多讲,直接说几个常用的
1、获取Wi-Fi列表
在获取Wi-Fi列表的时候得获取Wi-Fi管理类Wif iManager
wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);接着判断Wi-Fi是否打开
if (!wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(true);}但是不得不说的是,在android6.0的时候Google工程师可能在开发的时候感觉Wi-Fi的打开或许会用到定位,所以度源码发现,要获取到Wi-Fi列表,必须打开Wi-Fi和GPS定位,缺一不可,
wifiManager.startScan();//开始扫描可以通过getScanResults()方法获取到Wi-Fi列表 此方法的返回值是一个List集合,对象是ScanResults,这个对象中包含了Wi-Fi的一些基本信息,比如SSID Wi-Fi当前选择的名称,capableitiesWi-Fi的验证方式等,具体需要的信息可以查看ScanResults源码。
list = wifiManager.getScanResults();
2、当然我们获取到Wi-Fi列表的时候肯定需要对列表进行操作,比如当点击需要连接的Wi-Fi条目时,进行输入密码进行链接,并且不需要root手机,但是在这个过程中我们需要一个类帮助我们完成链接WifiConfiguration,这个类时对Wi-Fi的配置类,在这个类中将设置将要链接的Wi-Fi的信息
WifiConfiguration wc = new WifiConfiguration();wc.SSID = "\"" + ssid + "\""; Wi-Fi名称wc.preSharedKey = "\"" + mWifiPwd.getText().toString().trim() + "\""; //密码wc.status = WifiConfiguration.Status.ENABLED;//....其他配置wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);当我们配置完成后,将配置信息传递
int NetId = mWifiManager.addNetwork(config);return mWifiManager.enableNetwork(NetId, true);根据返回fan值可以判断Wi-Fi是否连接成功,但是上边return的返回值,不能完美的解释是否登录成功,因为他的内部实现的是一个耗时操作,有可能在密码正确的情况下返回false,那用什么来判断连接是否成功呢?答案是广播,监听Wi-Fi是否连接成功的广播,广播的action是
android.bluetooth.adapter.action.SCAN_MODE_CHANGED
接收到广播后Wi-Fi连接成功!!!在开发的过程中学习过其他人的博客,如果有相同或相似的地方,还请多多包含,
阅读全文
0 0
- 自定义获取WI-FI列表及相关设置
- 获取当前连接Wi-Fi 及 mac 地址
- 获取当前Wi-Fi 名称
- iOS获取Wi-Fi名字
- Win8设置虚拟Wi-Fi
- WPS(Wi-Fi Protected Setup),Wi-Fi保护设置
- 微信连Wi-Fi专业设备列表
- iOS 获取Wi-Fi的SSID
- Android入门——多线程的使用之实时监测查看Wi-Fi信息及Wi-Fi相关的操作总结
- 使用笔记本设置Wi-Fi热点
- iOS 跳转到Wi-Fi设置界面
- Android Wi-Fi 设置带宽代码流程
- android 十八 蓝牙及Wi-Fi
- Wi-Fi
- Wi-Fi
- wi-fi
- Wi-Fi
- 一键加密:WPS(Wi-Fi Protected Setup,Wi-Fi保护设置)
- 解决eclipse切换JDK
- 6.21 java初级开发面经4~7K
- w32tm同步时间
- Java| enum枚举(2)
- UITableViewCell部分区域点击问题
- 自定义获取WI-FI列表及相关设置
- bootstrap-datetimepicker
- 用jsp展示数据库的商品:
- 按照补码定义求补码
- git版本控制工具常用指令以及github
- Kingdom Division ——hackerrank
- 时间序列
- GitHub:创建和修改远程仓库
- spring + redis 实现数据的缓存